로그 및 데이터 세트

이 가이드에서는 Google AI Studio 대시보드에서 Gemini API 사용 로그를 확인하여 모델 동작과 사용자가 애플리케이션과 상호작용하는 방식을 더 잘 이해하는 방법을 알아봅니다. 로깅을 사용하여 개발자 사용 사례 전반에서 Gemini를 개선하는 데 도움이 되도록 사용 의견을 관찰, 디버그하고 선택적으로 Google과 공유합니다.*

관리형 에이전트를 제외한 모든 GenerateContent, BatchGenerateContent, StreamGenerateContent API 호출 및 Interactions API 호출이 지원됩니다. 여기에는 OpenAI 호환성 엔드포인트를 통해 이루어진 호출이 포함됩니다.

프로젝트 로깅 구성

기본적으로 Interactions API와 Generate Content API는 모두 요청 (store=true)을 저장합니다. Interactions API의 경우 서버 측 상태 관리 기능도 사용 설정됩니다.

Google AI Studio에서는 개별 프로젝트의 스토리지를 사용 설정하거나 사용 중지할 수 있으며, Gemini API 로그 대시보드의 설정 패널을 통해 언제든지 이러한 환경설정을 변경할 수 있습니다. generateContent API 및 Interactions API에 대해 로깅을 독립적으로 사용 설정하거나 사용 중지하여 프로젝트의 기본 스토리지 동작을 변경할 수 있습니다.

요청 수준 로깅

두 API 모두 기본적으로 요청을 저장합니다 (store=true).

  • Interactions API: 기본적으로 요청을 저장하여 서버 측 상태 관리를 간소화합니다.
  • Generate Content API (generateContent, streamGenerateContent, batchGenerateContent): 2026년 10월 26일 이후에 생성된 프로젝트의 요청을 기본적으로 저장합니다. 이 날짜 이전에 생성된 프로젝트는 AI Studio에서 로깅이 사용 설정되지 않는 한 기본적으로 요청을 저장하지 않습니다 (store=false).

요청 수준 store 속성은 프로젝트 수준 설정보다 우선합니다. 콘텐츠 생성 API 요청에 store를 설정하려면 Python의 경우 google-genai 2.33.0 이상, JavaScript의 경우 @google/genai 2.31.0 이상, Java의 경우 google-genai 1.79.0 이상, Go의 경우 google.golang.org/genai 1.76.0 이상이 필요합니다. store 속성을 설정하는 방법은 다음과 같습니다.

GenerateContent API

Python

from google import genai

client = genai.Client()

response = client.models.generate_content(
    model='gemini-3.8-flash',
    contents='Explain quantum entanglement in simple terms.',
    config={'store': True} # Set to False to disable logging of this request
)

print(response.text)

JavaScript

import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});

const response = await client.models.generateContent({
    model: 'gemini-3.8-flash',
    contents: 'Explain quantum entanglement in simple terms.',
    config: {
        store: true // Set to false to disable logging of this request
    }
});

console.log(response.text);

자바

import com.google.genai.Client;
import com.google.genai.types.GenerateContentConfig;
import com.google.genai.types.GenerateContentResponse;

Client client = new Client();

GenerateContentResponse response =
    client.models.generateContent(
        "gemini-3.8-flash",
        "Explain quantum entanglement in simple terms.",
        GenerateContentConfig.builder()
            .store(true) // Set to false to disable logging of this request
            .build());

System.out.println(response.text());

Go

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    response, err := client.Models.GenerateContent(
        ctx,
        "gemini-3.8-flash",
        genai.Text("Explain quantum entanglement in simple terms."),
        &genai.GenerateContentConfig{
            Store: genai.Ptr(true), // Set to false to disable logging of this request
        },
    )
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(response.Text())
}

Interactions API

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Explain quantum entanglement in simple terms.",
    store=True # Set to False to disable logging of this request
)

print(interaction.outputs[-1].text)

JavaScript

import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: 'gemini-3.8-flash',
    input: 'Explain quantum entanglement in simple terms.',
    store: true // Set to false to disable logging of this request
});

console.log(interaction.outputs[interaction.outputs.length - 1].text);

자바

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = new Client();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-3.8-flash"))
        .input(InteractionsInput.of("Explain quantum entanglement in simple terms."))
        .store(true) // Set to false to disable logging of this request
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

Go

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model: interactions.Model("gemini-3.8-flash"),
            Input: interactions.NewInteractionsInput("Explain quantum entanglement in simple terms."),
            Store: genai.Ptr(true), // Set to false to disable logging of this request
        }),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.Interaction.OutputText != nil {
        fmt.Println(*res.Interaction.OutputText)
    }
}

AI Studio에서 프로젝트 로그 보기

  1. AI Studio의 로그 페이지로 이동합니다.
  2. 드롭다운에서 프로젝트를 선택합니다.
  3. 로그가 있는 경우 표에 시간 역순으로 표시됩니다.
  4. 2026년 10월 26일 이전에 만든 프로젝트의 경우 먼저 설정 패널에서 Generate Content API 로깅을 사용 설정하여 Generate Content API의 프로젝트 로그를 관찰합니다.

페이로드 미리보기를 보려면 항목을 클릭합니다. Gemini의 전체 프롬프트와 대답, 이전 차례의 컨텍스트를 검사할 수 있습니다. Interactions API 요청의 경우 로그에 previous_interaction_id에 대한 직접 링크도 포함됩니다.

프로젝트 스토리지 보관 구성

로그는 기본 보관 기간인 55일이 지나면 만료되고 삭제 대상으로 표시됩니다(데이터 세트에 저장된 로그는 만료되지 않음). 프로젝트 로그의 보관 기간을 최대 7일, 14일, 28일 또는 55일로 구성할 수 있습니다.

데이터 세트 만들기 및 공유

로그를 데이터 세트에 저장하여 더 효과적으로 정리하고 내보낼 수 있습니다.

  • 로그 페이지에서 상단의 필터 표시줄을 찾아 필터링할 속성을 선택합니다.
  • 필터링된 보기에서 체크박스를 사용하여 전체 로그 또는 개별 로그를 선택합니다.
  • 목록 상단에 표시되는 데이터 세트 만들기 버튼을 클릭합니다.
  • 새 데이터 세트의 이름과 설명(선택사항)을 입력합니다.
  • 선별된 로그 세트로 방금 만든 데이터 세트가 표시됩니다.
  • 추가 분석을 위해 데이터 세트를 CSV, JSONL 파일 또는 Google Sheets로 내보냅니다.

데이터 세트는 다양한 사용 사례에 유용할 수 있습니다.

  • 과제 세트 선별: AI를 개선하려는 영역을 타겟팅하는 향후 개선사항을 추진합니다.
  • 샘플 세트 선별: 예를 들어 실제 사용에서 가져온 샘플을 사용하여 다른 모델의 대답을 생성하거나 배포 전 정기 검사를 위한 극단적 사례 모음을 생성합니다.
  • 평가 세트: 다른 모델 또는 시스템 요청 사항 반복 간의 비교를 위해 중요한 기능 전반의 실제 사용을 나타내는 세트입니다.

데이터 세트를 시연 예시로 Google과 공유하도록 선택하여 Gemini 연구 및 개발에 기여할 수 있습니다.

제한사항

현재 다음 항목에 대해서는 로깅이 지원되지 않습니다.

  • Imagen 및 Veo 모델
  • Gemini 임베딩 모델
  • Gemini Robotics 모델
  • 동영상, GIF 또는 PDF가 포함된 입력
  • Gemini API의 공개 프리뷰 에이전트

다음 단계

  • 세션 기록을 사용한 프로토타입 제작: AI Studio 빌드를 사용하여 앱을 바이브 코딩하고 API 키를 추가하여 AI 기능에 대한 Gemini API 로그 기록을 사용 설정합니다.
  • Gemini Batch API로 로그 다시 실행: Gemini Batch API로 로그를 다시 실행하여 모델 또는 애플리케이션 로직의 응답 샘플링 및 평가에 데이터 세트를 사용합니다.