[AI & IT 지식카드] OpenAI API: 챗봇 대화의 원리와 구조
- AI Product Owner/AI & IT 지식 카드
- 2026. 4. 2. 22:46
📔 TODAY I LEARNED
OpenAI API: 챗봇 대화의 원리와 구조
오늘 공부한 내용을 바탕으로 OpenAI API를 활용한 챗봇 상담사 만들기의 핵심 개념을 정리합니다.
1 대화의 핵심 요소: 3가지 역할 (Role)
AI 모델과 대화할 때는 '누가 말하는가'를 명확히 구분해야 합니다. 이를 Role(역할)이라고 부릅니다.
| 역할 | 설명 | 비유 |
|---|---|---|
| system | AI의 성격, 규칙, 배경 설정을 정의합니다. | 감독의 연출 지시 |
| user | 실제 서비스를 사용하는 '나'의 입력값입니다. | 배우에게 던지는 대사 |
| assistant | 사용자의 질문에 대한 AI의 답변입니다. | 배우의 응답 |
2 AI는 어떻게 '기억'을 할까?
컴퓨터는 사람처럼 자연스럽게 과거를 기억하지 못합니다. 우리가 '대화 기록장(List)'을 만들어 매번 처음부터 끝까지 다시 보여주는 방식을 사용합니다.
STEP 1
입력 (input)
사용자가 말을 하면 변수에 저장합니다.
STEP 2
기록 (append)
messages에 user 이름표를 붙여 추가합니다.
STEP 3
전송
지금까지 적힌 기록장 전체를 OpenAI 서버로 보냅니다.
STEP 4
응답 저장
AI 답변을 assistant 이름표로 기록합니다.
💡 핵심 포인트
AI가 "아까 말씀하신 대로..."라고 말할 수 있는 이유는,
매번 첫 대화부터 지금까지의 기록을 통째로 복사해서 전달해주기 때문입니다!
3 핵심 코드 구조 분석
# 1. 기록장 초기화 (감독의 지시 전달)
messages = [{"role": "system", "content": "너는 사용자를 도와주는 상담사야."}]
while True:
user_input = input("사용자: ")
if user_input == "exit": break
# 2. 나의 대화를 기록장에 추가
messages.append({"role": "user", "content": user_input})
# 3. 기록장 전체를 AI에게 보내서 답변 받기
ai_response = get_ai_response(messages)
# 4. AI의 답변도 기록장에 잊지 말고 추가
messages.append({"role": "assistant", "content": ai_response})
print("AI: " + ai_response)
! 오늘의 트러블슈팅: OpenAIError
"
AI의 똑똑한 기억력은 사실
개발자가 성실하게 관리하는 '기록장'에서 나온다.
#TIL #OpenAI #챗봇 #Python #API #개발공부
'AI Product Owner > AI & IT 지식 카드' 카테고리의 다른 글
| [AI & IT 지식카드] 펑션 콜링과 도구 호출 (0) | 2026.04.02 |
|---|---|
| [AI 지식 카드] OpenClaw 브라우저 릴레이 (0) | 2026.03.11 |
| [AI 지식 카드] AI의 최종 목적지는 AGI? (0) | 2026.03.09 |
| [우디의 지식 카드] MCP | 바이브 코딩의 핵심 | AI 협업 필수 역량 (0) | 2026.01.02 |
이 글을 공유하기






