Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【登壇資料】google/jsonschema-go のこれまでとこれから

Avatar for エブリー エブリー
February 20, 2026
7

【登壇資料】google/jsonschema-go のこれまでとこれから

20260201_GoconSendai

Avatar for エブリー

エブリー

February 20, 2026
Tweet

More Decks by エブリー

Transcript

  1. 7 Copyright © 2015 every, Inc. All rights reserved. 今日話すこと

    MCP Go SDKとともに登場したJSON Schemaライブラリ google/jsonschema-go 。 今日はこのライブラリが作られた背景とその機能の深掘りを通して google/jsonschema-go は何ができるのか を皆さんに知ってもらうことを目指します。
  2. 9 Copyright © 2015 every, Inc. All rights reserved. JSON

    Schema • JSONデータの構造や型、制約を定義するための言語 • それ自体もJSONの形で書かれる 例:オブジェクトと配列の基本的な書き方↓
  3. 10 Copyright © 2015 every, Inc. All rights reserved. JSON

    Schema • バージョンがあり、書き方がちょっとずつ変わったりしている ◦ Draft 2020-12 (最新世代の主流) ◦ Draft 2019-09 ◦ Draft 07 ◦ Draft 06 ◦ それ以前
  4. 11 Copyright © 2015 every, Inc. All rights reserved. JSON

    Schema • Goよりも圧倒的にデータ型の自由度が高い Union型 イン デックスごとに型が違う配列
  5. 12 Copyright © 2015 every, Inc. All rights reserved. JSON

    Schema 何に使われているか? • OpenAPI • REST APIのリクエスト / レスポンス検証 • JSON Schema Formによる入力画面生成 • LLMのStructured Output
  6. 13 Copyright © 2015 every, Inc. All rights reserved. JSON

    SchemaとStructured Output LLMのStructured Output →以下のような機能が必要 • Schema Creation: Goの型でスキーマを定義する • Serialization: スキーマオブジェクトからJSON文字列に変換する • Validation: 与えられたJSON値が、特定のスキーマに適合しているかを検証する • Inference: Goの型(構造体など)から、スキーマオブジェクトを生成する これらをすべて充たすライブラリがあったら良いのに…!