Google AI Studio를 열면 문서 기본값이 이미 Interactions API입니다. 운영 코드는 아직 outputs, response_mime_type, content.delta를 읽습니다. 마케팅은 Gemini Agent, Managed Agents, Antigravity를 나열합니다. 출시를 막는 것은 모델 이름이 아니라 대개 응답 형태입니다.
이 글은 2026년 공개 문서를 기준으로 Agent가 어디서 도는지, 도구 호출이 어떻게 steps가 됐는지, API와 generateContent가 어떻게 공존하는지, Structured Output 새 문법을 정리합니다. 기준일은 2026-08-18이며 Interactions 개요와 5월 호환성 파괴 가이드를 따릅니다.
Api-Revision과 파서, Agent 이름은 나중에.Quick Answer
| 질문 | 답 |
|---|---|
| 지금 어떤 API? | 신규는 Interactions(2026년 6월 GA). generateContent는 유지되지만 장시간 Agent는 전자가 우선. |
| Gemini Agent란? | 같은 interactions.create의 Managed Agents. 격리 Linux 샌드박스에서 계획·코드·검색. |
| 도구 호출 최대 변화? | 형식 있는 steps. 스트리밍 인자는 arguments_delta 결합. |
| JSON은? | 최상위 response_mime_type 제거, response_format.type=text + schema. |
| 구코드가 바로 죽나? | 구 schema는 2026-06-08 제거 예정이었음. Api-Revision: 2026-05-20. |
2026년 Gemini Agent의 의미
도구를 부르는 채팅이 아니라 모델과 호스팅 Agent가 한 엔드포인트입니다. 일반 대화는 model, 호스팅 작업은 agent.
2026년 8월 같은 README 정리 작업에서 Flash는 약 8초, Antigravity는 샌드박스에서 40–90초. 후자를 똑똑한 Flash로 쓰면 타임아웃과 청구가 어긋납니다.
| 유형 | ID 예 | 실행 위치 | 용도 |
|---|---|---|---|
| 모델 | gemini-3.6-flash | API 추론 | 저지연·JSON·동기 도구 |
| Deep Research | deep-research-preview-04-2026 | 호스팅 연구 루프 | 장시간 검색 |
| Antigravity | antigravity-preview-05-2026 | Linux 샌드박스 | 코드·패키지·파일 |
2026년 7월 추가분
background=true(store=true 필수), 원격 mcp_server, requires_action 사용자 함수, environment_id로 자격 증명 갱신.
- ☐ HTTP 타임아웃을 넘김 → 백그라운드+폴링
- ☐ 사내 데이터 → 원격 MCP
- ☐ 토큰 만료 → 같은
environment_id로 network 갱신 - ☐ 서명/Xcode → 샌드박스로 대체 불가
xcodebuild는 Macstripe 클라우드 Mac 같은 전용 M4에 남깁니다.도구 호출은 어떻게 바뀌었나
선언은 거의 같고 타임라인이 바뀝니다. outputs 대신 steps를 보고 thought, google_search_call도 처리합니다.
for step in interaction.steps:
if step.type == "function_call":
run_tool(step.name, step.arguments)
스트리밍은 step.start에 함수명, 이후 arguments_delta 조각입니다. 날씨 샘플은 유효 JSON까지 7조각. 버퍼가 없으면 Malformed_Function_Call이 납니다.
| 작업 | 이전 | 2026 |
|---|---|---|
| 최종 텍스트 | outputs[-1].text | output_text |
| 도구 탐지 | outputs | steps |
| 스트림 | content.delta | step.delta |
| 인자 | 한 객체 | arguments_delta 누적 |
| 중단 | 추정 | requires_action |
결과는 previous_interaction_id와 function_result. 무상태면 다음 턴에 steps를 재생합니다. Gemini 4 마이그레이션 목록과 같은 순서입니다. Gemini 3 계열은 함수 호출과 Structured Output을 같이 쓸 수 있습니다. 도구 앞 큰 XML은 피하고 계획을 별도 함수로 둡니다.
API 계층 변화
2026년 6월부터 Interactions가 기본입니다. POST는 출력 스텝, GET /interactions/{id}가 전체 타임라인입니다.
| 능력 | generateContent | Interactions |
|---|---|---|
| 동기 채팅 | 가능 | 신규 권장 |
| Managed Agents | 주 경로 아님 | 완전한 입구 |
| 장시간 | 자체 큐 | background=true |
| 원격 MCP | 직접 구현 | mcp_server |
| 버전 | 모델 ID | Api-Revision |
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-H "Api-Revision: 2026-05-20" \
-d '{"model":"gemini-3.6-flash","input":"Ping"}'
이벤트 이름도 바뀝니다: interaction.created, step.*, interaction.completed. 로그의 complete와 상태머신의 done 불일치는 문자열 잔재입니다.
Structured Output을 어떻게 선언하나
response_mime_type은 제거됩니다. 다형 response_format에 MIME과 schema를 넣습니다. 이미지 설정도 여기로 옮겨 generation_config는 사고 파라미터만 남깁니다.
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="로그를 세 문장으로 요약",
response_format={"type":"text","mime_type":"application/json","schema":{"type":"object","properties":{"summary":{"type":"string"}},"required":["summary"]}},
)
print(interaction.output_text)
운영 로그 50건에서 구조합은 SDK 업 후 12/50이 400, 신형식은 0. 중간에 도구가 있으면 output_text만으로 부족해 steps를 순회합니다.
금요일 장애를 피하는 순서
내부 카나리는 파서만 먼저 바꿔 오류율 18%→2%. Deep Research는 다음 주.
Api-Revision추가steps파싱과 인자 버퍼response_format인라인 후 20–50건 회귀- 무상태는
steps재생 - Agent는 별도 플래그+예산
- Grok 4.5 비용과 비교
- 롤백 문서화
승인 흐름은 Interactions만으로 부족합니다. Paperclip 가이드처럼 제어 계층은 앱에 둡니다.
지금 전환할 사람
| 상황 | 권장 |
|---|---|
| 신규 Gemini | 처음부터 Interactions |
| 짧은 generateContent | 공식 일정, Agent는 나중 |
| 운영 JSON | 이번 주 response_format |
| 장시간 연구/코딩 | Managed Agents를 별도 쿼터로 |
| ipa / 공증 | 패치는 Gemini, 빌드는 실제 Mac |
4인 모바일 팀은 Antigravity Swift diff를 공유 노트북에서 빌드하다 메모리가 고갈됐습니다. 이후 diff는 샌드박스, xcodebuild는 전용 M4 Mac Mini.
FAQ
generateContent가 바로 종료되나?
fully supported. 다만 장시간 Agent는 Interactions가 먼저.
output_text만으로 충분한가?
단순 텍스트는 가능. 중간에 도구가 있으면 steps.
background=true가 실패하는 이유?
store=false와 비호환. store를 켜고 ID를 폴링.
Mac CI를 대체하나?
서명과 시뮬레이터는 불가.
함수 호출과 JSON 동시?
Gemini 3 계열은 가능. 큰 XML 서문은 피할 것.
결론
2026년의 핵심은 모델과 Agent의 공통 입구인 Interactions입니다. 파서와 schema를 먼저 고치고 Agent 플래그는 나중에. 빌드와 서명은 Apple Silicon에 남깁니다. 일 단위 전용 기기가 필요하면 Macstripe 홈에서 노드를 고르면 됩니다.