example-01-도구-호출-루프
예시 01 · 도구 호출 루프의 가장 짧은 형태
섹션 제목: “예시 01 · 도구 호출 루프의 가장 짧은 형태”Anthropic 공식 문서의 가장 단순한 예 — web_search 서버 도구 호출.
import anthropic
client = anthropic.Anthropic()response = client.messages.create( model="claude-opus-4-6", max_tokens=1024, tools=[{"type": "web_search_20260209", "name": "web_search"}], messages=[{"role": "user", "content": "What's the latest on the Mars rover?"}],)print(response.content)(원문: sources/01-anthropic-official/api/tool-use-overview.md, verbatim:true)
무엇이 일어나는가
섹션 제목: “무엇이 일어나는가”- 사용자가 질문을 보낸다.
- 모델이 도구 호출이 필요하다고 판단 한다(학습 컷오프 이후 사실).
- 서버 도구 이므로 Anthropic이 자동으로 검색을 실행한다.
- 결과가 모델 컨텍스트로 돌아온다.
- 모델이 결과를 종합해 사용자에게 답한다.
클라이언트 도구라면?
섹션 제목: “클라이언트 도구라면?”모델은 stop_reason: "tool_use"로 멈추고 tool_use 블록을 반환한다. 사용자 코드가 함수를 실행하고 tool_result로 다시 모델에 보낸다. 이 왕복을 환경 루프 라고 부른다(02-구조 참고).
에이전트로 발전시키려면?
섹션 제목: “에이전트로 발전시키려면?”- 도구를 여러 개 등록한다(검색·코드 실행·파일 읽기 등).
- 모델이 언제 어느 도구를 부를지 스스로 결정하도록 둔다.
- 정지 조건을 정한다(작업 완료, 토큰 한도, 사람 승인 필요).
- 컨텍스트 위생(04장)·검증 패스(05장)·OMC 라우팅(06장)을 결합한다.
- sources/01-anthropic-official/api/tool-use-overview.md (verbatim)
- sources/01-anthropic-official/prompting/building-effective-agents.md