본문 바로가기
C.W.K.
Stream
Lesson 03 of 06 · published

도구 사용과 함수 호출은 아키텍처가 아니야

~9 min · tools, product, framework

Level 0정찰자
0 XP0/41 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

함수 호출은 형식과 실행기의 조합이야

함수 호출 또는 도구 사용은 학습된 출력 형식오케스트레이션 계층을 합친 기능이야. 모델은 도구가 필요할 때 구조화된 JSON을 내도록 후속 학습돼. 바깥 시스템은 출력을 해석해 도구를 실행하고 결과를 다시 모델 입력으로 넣어. 백본은 그대로야.

두 조각을 나눠 봐

  1. 구조화된 출력을 만드는 모델: 언제 어떤 도구 호출 JSON을 내야 하는지 후속 학습 예시로 배워.
  2. 도구를 실행하는 계층: 함수 디스패처, 샌드박스, API 호출, 재시도 같은 응용 코드가 실제 행동을 맡아.

생각하는 중에 도구를 불러도 같아

o4-mini나 확장 사고 중 도구를 쓰는 Claude는 생각 도중에도 호출을 허용해 경계를 흐려 보여. 그래도 새 아키텍처는 아니야. 모델은 생각, 도구 호출, 최종 답 가운데 무엇을 낼지 더 풍부한 형식으로 배우고, 오케스트레이터가 중간 호출을 실행해.

도구를 잘 쓰는 모델은 무엇이 다를까

  • 후속 학습에 쓰인 도구 호출 예시의 양과 품질이 달라.
  • 도구 오류와 재시도에서 회복하는 능력이 달라.
  • 정확한 스키마를 지키고 없는 도구를 꾸며 내지 않는 신뢰도가 달라.

배선은 바뀌지 않아

적절한 후속 학습과 채팅 API를 갖춘 기반 모델이라면 같은 백본으로도 도구 호출을 켜거나 끌 수 있어. 기능의 품질 차이는 주로 학습 데이터와 실행 계층에서 나와.

Code

도구 사용 내부: 모델은 텍스트를 생성해·python
# 1. The model's response when it wants to call a tool:

{"tool": "get_weather", "args": {"city": "Seoul"}}
# That's just text the model emitted. The orchestrator parses it,
# runs the actual function, and feeds the result back as the next turn.

# 2. The orchestrator's job (no model changes here):
def run_tool_call(json_str, tool_registry):
    call = json.loads(json_str)
    return tool_registry[call["tool"]](**call["args"])

External links

Exercise

Claude, OpenAI, Gemini 가운데 하나의 공식 도구 사용 문서를 열어 호출 출력의 JSON 모양을 적어. 다음에는 도구 사용을 지원하는 오픈 가중치 모델의 채팅 템플릿을 비교해. 비슷한 출력 규약이 어떻게 서로 다른 모델에서 재사용되는지 봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.