# ============================================================
# [실습] 복합 응용: 금융 정보 비서 (도구 모듈 분리 + 복합 작업 + human)
#
# 도구를 별도 파일(finance_bot.py, 제공됨)로 분리하고, 에이전트가 여러 도구를 '이어서' 써서
# 복합 작업을 한다. 예: 애플 주가(USD) 조회 → 환율 조회 → 계산 으로 '한화 변환'.
#
# 구현 항목:
#  1) finance_bot 에서 FIN_TOOLS(주가/뉴스/환율/계산)를 가져온다.
#  2) load_tools(["human"]) 로 '사용자에게 되묻는' 빌트인 도구를 더한다.
#  3) create_agent 로 묶고, run_agent 로 복합 작업의 도구 호출 흐름을 본다.
# ============================================================

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain.agents import create_agent
from langchain_community.agent_toolkits.load_tools import load_tools

from finance_bot import FIN_TOOLS       # (1) 분리한 도구 모듈 (제공됨)
from agent_utils import run_agent

load_dotenv()

# 2) 여기에 코드를 작성하세요 (human_tools = load_tools(["human"]))


SYSTEM = """당신은 금융 정보 비서입니다.
필요에 따라 적합한 도구를 골라 검색·계산할 수 있습니다.
주가 조회 시 종목은 티커로 씁니다. 예: '005930.KS'=삼성전자, 'AAPL'=애플.
정보가 부족하면 추측하거나 모른다고 하지 말고, human 도구로 사용자에게 되물으세요."""

# 3) 여기에 코드를 작성하세요 (agent = create_agent(ChatOpenAI(...), FIN_TOOLS + human_tools, system_prompt=SYSTEM))


if __name__ == "__main__":
    # 3) 여기에 코드를 작성하세요
    #    run_agent(agent, "애플(AAPL) 현재 주가를 원화로 환산하면 얼마야?")  # 주가→환율→계산
    pass
