Build Your First AI Agent: A Beginner's Guide
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

AI 에이전트 초보자 가이드: 첫 번째 AI 에이전트 구축

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인공지능

대상자

- 초보 개발자 및 AI에 관심 있는 학습자

- Python 기초 지식, OpenAI API 키, Yahoo Finance API 사용 경험 필요

- 난이도: 중간 이하 (단계별 코드 예제 제공)

핵심 요약

  • AI 에이전트는 자율성과 동적 의사결정을 기반으로 작동
  • "작업 흐름(Workflow)"과 "에이전트(Agent)"의 차이점: 작업 흐름은 고정 경로, 에이전트는 유연한 경로 선택 가능
  • 필요한 도구: OpenAI SDK, Yahoo Finance API, .env 파일을 통한 API 키 관리
  • 에이전트 핵심 기능:

- 실시간 주가 정보 (get_stock_price)

- CEO 정보 추출 (get_company_ceo)

- 회사명 → 주식 코드 매핑 (find_ticker_symbol)

- 불확실성 처리 (ask_user_for_clarification)

섹션별 세부 요약

1. AI 에이전트의 정의와 목적

  • 에이전트(Agent): 자율적으로 판단하고 행동하는 시스템 (예: 주식 정보 제공 시스템)
  • 작업 흐름(Workflow): 고정된 경로만 따라가는 자동화 시스템 (예: 간단한 질문-답변 시스템)
  • 에이전트의 장점: 복잡하고 동적인 쿼리 처리 가능

2. 환경 설정 및 의존성 설치

  • 필요한 도구:

- Python 3.7 이상

- OpenAI API 키 (platform.openai.com)

- yfinance, python-dotenv 패키지 설치

  • .env 파일 생성:

```env

OPENAI_API_KEY=your_api_key_here

```

3. 에이전트 클래스 구조 및 주요 메서드

  • StockInfoAgent 클래스:

- __init__: OpenAI API 클라이언트 초기화 및 대화 기록(conversation_history) 관리

- get_stock_price: Yahoo Finance API를 통해 실시간 주가 정보 가져오기

- get_company_ceo: 주식 코드로 회사 CEO 정보 추출 (Yahoo Finance의 비표준 데이터 구조 처리)

- find_ticker_symbol: 회사명 → 주식 코드 매핑 (예: "BYD" → "BYDDF")

- ask_user_for_clarification: 사용자에게 명확성 요청 (예: "NIO, XPeng 중 어디를 의미하십니까?")

4. 에이전트의 의사결정 루프

  • process_user_query 메서드:

- OpenAI API를 통해 사용자 질문 분석

- tool_call을 통해 적절한 도구 선택 (예: 주가 정보 → get_stock_price)

- 무한 루프(while True): 사용자 질문에 대한 완전한 답변 도출까지 반복

- 결과 합성: 여러 도구 실행 결과를 기반으로 최종 응답 생성 (예: "BYD의 CEO는 왕춘후, 주가는 $59.50")

5. 실습 예제 및 실행 방법

  • 사용자 질문 예시:

```plaintext

Who is the CEO of the EV company from China and what is its stock price?

```

  • 에이전트 동작:
  1. "EV company from China" → 불확실성 인식
  2. 사용자에게 명확성 요청 (NIO, XPeng 중 선택)
  3. 사용자 응답 ("BYD") → 주식 코드 추출 (find_ticker_symbol)
  4. CEO 정보 (get_company_ceo) 및 주가 정보 (get_stock_price) 수집
  5. 최종 응답 생성: "BYD의 CEO는 왕춘후, 주가는 $59.50"

결론

  • 실무 적용 팁:

- 에이전트 자율성 강화를 위해 tool_choice="auto" 설정 필수

- 예외 처리 (try-except)를 통해 API 실패 시 대응 가능

- .env 파일 사용으로 API 키 보안 관리

- OpenAI 모델 선택: gpt-4-turbo-preview 사용 권장 (최신 기능 지원)