SDKとは
この記事の結論
- SDKとは、あるサービスやプラットフォーム向けの開発に必要なツール・ライブラリ・サンプルコードを、ひとまとめにしたパッケージのことです。
- この記事では「SDKとは何か」「中身」「SDK・API・ライブラリの違い」「代表的なSDKツールの例」「使うときの注意点」を扱います。
- 最終更新 2026-09-11。
えすでぃーけー/Software Development Kit
別の言い方:SDKツール/ソフトウェア開発キット
特定のサービスやプラットフォーム向けの開発を助ける、ツールやコードのひとまとめのパッケージです。
最終更新: 2026-09-11
SDKとは何か(意味と読み方)
SDKとは、あるプラットフォームやサービス向けにソフトウェアを開発するために必要な道具を、ひとまとめにしたパッケージのことです。読み方は「えすでぃーけー」、英語では Software Development Kit(ソフトウェア開発キット)と書きます。用語としての定義は、MDN Web Docs 用語集「SDK」でも「特定のプラットフォーム向けのアプリケーション開発に使うツール群」として整理されています。
簡単に言うと、SDKは「そのサービスを使った開発を始めるための道具箱」です。プラモデルに例えるなら、部品と説明書と専用工具が1つの箱に入っている状態にあたります。自分で工具をそろえるところから始めなくても、箱を開ければすぐ組み立てに取りかかれる、というのがSDKの価値です。
検索では「SDK ツール」という言い方もよく使われます。これはSDKの中に含まれている個々の道具(コマンド、エミュレータ、デバッガなど)を指す場合と、SDKそのものを「開発ツール」として指す場合の両方があります。どちらの意味でも、指しているのは「その環境向けの開発を助けるために提供物としてまとまっているもの」です。
SDKには何が入っているのか
中身は提供元によって異なりますが、多くのSDKには次のようなものが含まれています。
- ライブラリ:機能を呼び出すための関数やクラスのまとまり。通信や認証の細かい処理を代わりにやってくれます
- コマンドラインツール:ターミナルから実行する道具。ビルド、配布、設定の確認などに使います
- サンプルコード:動く状態の見本。最初の1本を書くときの土台になります
- ドキュメント:使い方と、呼び出せる機能の一覧
- エミュレータ・デバッガなどの補助ツール:スマートフォン向けSDKなどでは、実機がなくても動作を確認できる仕組みが付属します
SDKは、たいていプログラミング言語ごとに用意されます。「このサービスのPython向けSDK」「JavaScript向けSDK」のように分かれているのはこのためです。自分が使う言語のSDKがあるかどうかは、導入を決めるときの最初の確認ポイントになります。
SDK・API・ライブラリの違いは?
SDKとよく混同されるのがAPIとライブラリです。3つは対立する概念ではなく、含む・含まれるの関係にあります。
| 用語 | 正体 | 例えると | 関係 |
|---|---|---|---|
| API | 機能を呼び出すための窓口と、その約束事(決められた呼び出し方) | 受付カウンター | SDKが内部で呼んでいる相手。SDKが無くても直接呼べる |
| ライブラリ | 特定の処理をまとめた再利用可能なコードのかたまり | 専用の工具1本 | SDKの中身の中心。単独でも配布される |
| SDK | ライブラリ+コマンド+サンプル+ドキュメントの一式 | 工具箱ごと | ライブラリを含み、APIを使いやすく包んだもの |
APIは「呼び出し方の取り決め」なので、SDKを使わずにHTTPで直接呼ぶこともできます。ただしその場合、認証、再試行、エラーの読み替え、レート制限への対応などを自分で書くことになります。SDKを使うと、そうした定型処理があらかじめ用意されている状態から始められる、というのが実務上の一番の違いです。API側の定義についてはMDN Web Docs 用語集「API」も参照してください。
SDKツールの具体例
実際にどんなSDKがあるのか、身近な例を分野ごとに挙げます。
| 分野 | SDKの例 | 主にできること |
|---|---|---|
| スマートフォンアプリ | Android SDK(Android Studio に同梱) | アプリのビルド、エミュレータでの動作確認、端末へのインストール |
| クラウド | Google Cloud CLI(Cloud SDK) | クラウド資源の作成・設定・デプロイをコマンドで実行する |
| 決済 | 決済事業者が提供する各言語向けSDK | カード情報を自前で扱わずに決済処理を組み込む |
| 生成AI | AIモデル提供元の各言語向けSDK(Anthropic、OpenAI、Google など) | モデルの呼び出し、会話履歴の管理、ツール呼び出しの実装 |
| AIエージェント | エージェント構築用SDK(Claude Agent SDK など) | AIエージェントの動作を自社アプリやワークフローに組み込む |
公式の入口としては、スマートフォン向けはAndroid Studio(developer.android.com)、クラウド向けはGoogle Cloud CLI ドキュメントが代表的です。いずれも導入手順とコマンド一覧が公開されているので、SDKツールが実際に何をするものかを確かめるのに向いています。
AI開発でのSDKの位置づけ
生成AIを組み込んだアプリを作るとき、多くの提供元が各言語向けのSDKを公開しています。これを使うと、認証・リクエストの組み立て・応答の受け取り・エラー処理といった土台の部分を自分で書かずに済みます。会話履歴の持ち回りや関数呼び出し(ツール呼び出し)の仕組みまでSDK側が面倒を見てくれることも多く、その分をアプリ本体の作り込みに回せます。
AIコーディングエージェントに実装を頼むときも、「このSDKを使って実装して」と、使うSDKとバージョンを先に指定するのが有効です。指定しないと、存在しない関数名を書いてしまうことがあるためです。指示の出し方のコツはコーディング向けプロンプト実践にまとめています。
SDKを使うときの注意点
関連用語
関連記事
よくある質問
Q1. SDKとは何ですか?
あるサービスやプラットフォーム向けの開発に必要なライブラリ・コマンドラインツール・サンプルコード・ドキュメントを、ひとまとめにしたパッケージのことです。Software Development Kit の略で、「えすでぃーけー」と読みます。
Q2. SDKとAPIは何が違いますか?
APIは機能を呼び出すための窓口と約束事、SDKはその窓口を使いやすくするための道具箱です。SDKは内部でAPIを呼んでおり、認証や再試行といった定型処理をあらかじめ用意してくれます。SDKを使わずAPIを直接呼ぶこともできます。
Q3. SDKツールとは具体的に何を指しますか?
SDKに含まれるコマンドラインツール、エミュレータ、デバッガなど個々の道具を指す場合と、SDKそのものを開発ツールとして指す場合があります。たとえばAndroid SDKにはビルドとエミュレータ実行の道具が含まれています。
Q4. SDKとライブラリの違いは何ですか?
ライブラリは特定の処理をまとめたコードのかたまりで、SDKはそのライブラリに加えてコマンドやサンプル、ドキュメントまで含めた一式です。SDKはライブラリを含む、より広い提供物だと考えてください。
Q5. SDKを使うときに気をつけることはありますか?
使うバージョンを固定すること、APIキーをソースコードに直接書かず環境変数から読み込むこと、公式ドキュメントに記載された名前のパッケージかどうかを確認することの3点が基本です。