📚 Agentic AI - 기업용 자율 에이전트 개발 2장 · LLM API 기초 Agentic AI란

정리 & 체크리스트

한 줄 요약

2장이 끝났습니다. LLM을 다루는 기본기가 갖춰졌습니다 — 역할을 부여하고, 답의 성격을 조절하고, 대화를 이어 가는 법. 3장부터는 여기에 도구를 붙입니다.


1. 2장에서 만든 것

code/ch02_chat.py — 함수 세 개.

함수 하는 일 어디서 다시 쓰나
chat(system, user, temperature) 한 번 묻고 한 번 답 받기 3장 이후에도 계속
chat_multi(system, history) 대화 전체를 보내고 답 받기 개념이 7장으로
say(role, text) 대화 한 줄 만들기 4장에서 형태가 확장

2. 이 장의 핵심 내용 — 말로 설명할 수 있어야 할 것들

  1. LLM 호출은 generate_content(model, contents, config) 함수 하나다. 답은 .text 로 꺼낸다.
  2. system_instruction 은 대화 전체에 계속 적용되는 역할·규칙이다. 질문마다 반복할 필요가 없다.
  3. 같은 질문이라도 시스템 지시가 바뀌면 말투·길이·태도가 전부 달라진다.
  4. 시스템 지시는 강한 부탁이지 절대 명령이 아니다. 반드시 지켜져야 하는 것은 코드나 문서 근거로 강제한다.
  5. temperature 는 답의 들쭉날쭉함을 정한다. 에이전트 실습에서는 거의 항상 0을 쓴다 — 판단이 흔들리면 디버깅이 불가능하기 때문이다.
  6. LLM 호출은 무상태다. 두 번째 호출은 첫 번째를 전혀 모른다.
  7. 멀티턴의 정체는 리스트에 대화를 쌓아 매번 통째로 보내는 것이다. ChatGPT도 이렇게 한다.
  8. 한 턴은 세 단계다 — 사용자 말 기록 → 전체 전송 → 답변 기록. 세 번째를 빠뜨리면 모델은 자기가 한 말을 모른다.
  9. 기억은 모델의 능력이 아니라 우리가 만드는 구조다.
  10. 토큰은 LLM이 글을 세는 단위이고, 멀티턴은 턴이 늘수록 입력 토큰 수가 늘어난다. 출력이 입력보다 비싸다.

3. 체크리스트

  • [ ] python code/ch02_chat.py 가 끝까지 돌아간다
  • [ ] 시스템 지시를 바꿔 답이 달라지는 것을 직접 확인했다
  • [ ] [2] 에서 이름을 잊는 것과 [3] 에서 기억하는 것의 차이가 무엇 때문인지 설명할 수 있다
  • [ ] history 에 무엇이 들어 있는지 찍어 봤다
  • [ ] temperature=01.5 의 차이를 직접 확인했다

4. 아직 안 한 것 — 3장으로 넘어가며

2장까지의 상담원은 말은 잘하지만 아무것도 모릅니다.

고객  : 주문 O001203은 지금 어떤 상태인가요?
상담원: 확인 후 안내드리겠습니다.

시스템 지시를 아무리 잘 써도 이 답은 바뀌지 않습니다. 주문 데이터가 입력에 없기 때문입니다. 5절에서 본 것과 같은 구조의 문제입니다 — 없는 정보는 지시로 만들 수 없습니다.

그래서 3장에서는 정보를 가져오는 통로를 만듭니다.

아래는 개념 설명용 코드입니다 — 실습 파일에 넣지 않습니다.

def get_order_status(order_id: str) -> str:
    """주문번호로 주문 상태를 조회한다."""
    ...   # orders.csv 를 읽어서 돌려주는 평범한 파이썬 함수

그리고 이 함수를 LLM에게 쥐여 줍니다.

아래는 개념 설명용 코드입니다 — 실습 파일에 넣지 않습니다.

config = types.GenerateContentConfig(
    tools=[get_order_status],       # ← 3장에 새로 배우는 한 줄
    system_instruction=SYSTEM,
)

configtools 한 줄이 추가되는 것, 그게 "에이전트"가 시작되는 지점입니다. 1장에서 말한 그대로 — 도구는 그냥 파이썬 함수입니다.

3장에서 확인하게 될 가장 중요한 사실

미리 예고해 둡니다. 3장의 핵심은 이 한 문장입니다.

LLM은 함수를 직접 실행하지 못합니다.

모델이 하는 일은 "이 함수를 이 값으로 불러 주세요"라고 요청하는 것까지입니다. 실제로 실행하는 건 우리 코드입니다. 이 경계선을 정확히 아는 것이 3장의 목표이고, 4장의 ReAct(Reasoning + Acting, 생각 · 행동 · 관찰을 반복하는 방식) 루프와 8장의 멀티에이전트가 전부 여기서 출발합니다.

← 이전 절07. 토큰과 비용 감각