# ============================================================
# [실습] 첫 에이전트: ReAct 루프와 create_agent
#
# 03~04 에서 손으로 한 (판단→실행→결과→다시판단) 루프를, create_agent 가 자동으로 돌려준다.
# run_agent(agent_utils.py) 가 그 흐름을 [질문]/[행동]/[관찰]/[답변] 으로 단계별 출력한다.
#
# 아래 항목을 직접 구현하세요:
#  1) @tool calculator(expression) 를 만든다 (eval, try/except).
#  2) create_agent(llm, [calculator], system_prompt=...) 로 에이전트를 만든다.
#  3) run_agent(agent, "질문") 으로 실행한다.
# ============================================================

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool
from langchain.agents import create_agent

from agent_utils import run_agent

load_dotenv()


# 1) 여기에 코드를 작성하세요 (@tool calculator)


llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)

# 2) 여기에 코드를 작성하세요 (agent = create_agent(llm, [calculator], system_prompt=...))


if __name__ == "__main__":
    # 3) 여기에 코드를 작성하세요 (run_agent(agent, "(53 * 7 + 2) / 5 는 얼마야?"))
    pass
