AI 에이전트 만들기
지금까지 AI는 물어봐야 답하는 도구였어요. 오늘은 뉴스를 가져와 요약하고, 상황에 따라 다르게 행동하는 미니 AI 에이전트를 만듭니다.
오늘 배우는 것
에이전트의 핵심은 판단이에요. 그리고 그 판단은 우리가 이미 배운 if/else로 만들 수 있어요. 답하는 AI에서 행동하는 AI로 한 걸음 나아갑니다.
처음 나오는 것 ① — AI 에이전트
목표를 주면 스스로 도구를 쓰고, 판단하고, 반복해서 일을 해내는 AI 프로그램이에요. 자세한 원리는 바로 다음 섹션에서 살펴봐요.
처음 나오는 것 ② — Claude API
Anthropic이 만든 AI를 코드에서 직접 호출하는 방법이에요. 오늘 만드는 에이전트의 '판단 엔진'으로 써볼 수 있어요. 키는 .env에서 자동으로 불러옵니다.
ask_ai()와 같은 방식으로 연결할 수 있어요..env 파일에 보관해요. 선생님이 나눠준 키 파일을 코드와 같은 폴더에 두면 자동으로 불러옵니다.챗봇과 에이전트는 무엇이 다를까?
챗봇은 질문에 답하는 친구예요. 에이전트는 심부름을 시키면 알아서 다녀오는 친구죠. 에이전트는 세 가지를 스스로 합니다.
if/else로 만들어요.거창해 보이는 '판단'도, 사실 우리가 배운 if/else예요. "기사가 길면 요약, 짧으면 그대로"처럼 조건만 정하면 봇이 스스로 행동을 골라요.
뉴스 요약 봇 만들기
① 흐름 이해하기
ask_ai()로 AI에게 3줄 요약을 부탁해요.print로 화면에 보여줘요.② AI를 부르는 준비 — ask_ai 함수
1단계 — VS Code 터미널에서 수업 폴더 안에 파일 만들기
# Windows
New-Item .env
# Mac
touch .env2단계 — .env 파일을 열고 아래 한 줄 입력 (선생님이 알려준 키 사용)
OPENAI_API_KEY=여기에_선생님이_알려준_키_붙여넣기⚠️ 키 앞뒤에 공백이나 따옴표 없이 딱 붙여서 저장하세요. .env 파일은 코드와 같은 폴더에 있어야 해요.
AI 호출은 1주차에서 만든 ask_ai()를 그대로 재사용해요. 파일 맨 위에 한 번만 적어 둡니다. 이 봇의 판단 엔진으로는 Claude API를 써도 되고, 키는 .env에서 자동으로 불러옵니다.
from openai import OpenAI
client = OpenAI() # 키는 .env에서 자동으로
def ask_ai(prompt):
res = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}])
return res.choices[0].message.content③ 요약 봇 만들기
# 긴 기사는 삼중 따옴표로 붙여넣기
news = """여기에 뉴스 기사 내용을 붙여넣기"""
summary = ask_ai(f"다음 기사를 3줄로 요약해줘. 각 줄은 한 문장으로:\n{news}")
print(summary)