12 줄의 agentic loop
"Agent" 는 tool loop. 모델 호출, tool 호출 체크, 실행, 결과 append, 다시 호출. 모델이 더 호출 대신 text 반환할 때 멈춤. 그게 다.
한 iteration 의 모양
- 모델에
contents보냄. - Response 에
function_calls없으면response.text반환 — 끝. - 그렇지 않으면: 모델 turn 을
contents에 append (호출 기억하도록). - 모든 function call 실행 (independent 하면 병렬).
- function-response part 들 모두 담은 single user turn append.
- Loop.
병렬 호출이 정상
현대 Gemini 모델이 한 turn 에 multiple function_call part 자주 emit. 동시에 실행하고 한 user turn 에 모든 결과 반환 — API 가 id field 로 결과를 호출에 매칭.
Budget 필요해
Tool loop 가 모델이 계속 re-call 하면 영원히 돌 수 있어. 항상 iteration 카운트와 총 경과 시간 bound.