付録A APIキーの取り方(Anthropic / OpenAI)
📖 このページのゴール:自分の APIキー(えーぴーあいきー) を発行して
.envに置き、使いすぎないよう上限(予算)も設定する。エージェントを動かす“最初の一歩”をここで済ませます。 ← 目次・はじめにへもどる
🤔 APIキーって?(🟢 基礎)
APIキー=LLM(AIの頭脳)を使うための、秘密の合鍵(あいかぎ) です。この鍵を見せると「私はこのサービスを使う権利があります」と証明できます。
大事なことが2つあります。
- 使った分の料金は、鍵の持ち主(あなた)に請求されます。 だから鍵は 絶対に他人に渡してはいけません。
- 今回のエージェントには ブラウザの画面もサーバーもありません。 鍵は 自分のパソコンの中(環境変数) に置くだけ。前作(ChatGPTクローン)で学んだ「鍵をフロント(画面側)に出さない」と地続きの話です。むしろ、画面が無いぶんシンプルになります。
💡 本編は Anthropic(Claude) を主に使います(Claude Code ベースなので自然です)。OpenAI(GPT)は 付録Bで「別のLLMへ切り替える」 ときに使うので、今のうちに両方とっておくとあとがスムーズです。
⚠️ 画面は変わることがあります。 ここに書く手順やボタンの名前は、各社の都合で更新されることがあります。「だいたいこの流れ」 として読み、実際の画面に出ている言葉に読み替えてください。考え方(鍵を作る → 安全に保存 → 上限を決める)は変わりません。
🪜 ① Anthropic(Claude)のキーを取る(主・🟢 基礎)
本編で使う主役の鍵です。上から順にやってください。
- ブラウザで console.anthropic.com を開き、サインインします(アカウントが無ければ「Sign up」で新規作成。Googleアカウントなどでも作れます)。
- メニューから 「API Keys」(エーピーアイ キーズ)を開きます。
- 「Create Key」(鍵を作る)ボタンを押し、自分が分かる名前(例:
my-cli-agent)を付けます。 - 表示された鍵(
sk-ant-で始まる長い文字列)を、その場で必ずコピーして安全な場所に貼り付けます。⚠️ この鍵は基本、後から見直せません(画面を閉じると二度と表示されないことが多い)。忘れたら、手順3からやり直して新しい鍵を作り直せばOK(古い鍵は削除して構いません)。 - 鍵を使うには 支払いの設定 が必要です。「Billing」(ビリング=課金)を開き、クレジットカードなどを登録します(未登録だと、呼んでもエラーになります)。
- 必ず「使用上限(予算)」を設定します。 Anthropic では 「Cost Limits」/「Usage Limits」(コスト リミッツ/ユーセージ リミッツ)あたりで、「1か月でいくらまで」という上限を決められます。これを決めておくと、万一たくさん使われても、それ以上は止まる・請求されないので安心です。初心者は、まず小さめの金額(例:5ドル) から始めましょう。
💡 上限(予算)は“ブレーキ”です。 エージェントは「考える → 道具を使う → また考える」をループで回します(本編の背骨)。うっかり長く回ると、その回数だけ料金がかさみます。だからこそ、最初に予算の上限を決めておくのがいちばんの安全策です(くわしくは付録F)。
🪜 ② OpenAI(GPT)のキーを取る(付録B用・🔧 応用)
付録Bで「別のLLM(OpenAI)に切り替えて動かす」ときに使う鍵です。本編には必須ではありませんが、流れはAnthropicとほぼ同じです。
- ブラウザで platform.openai.com を開き、サインインします(無ければ「Sign up」で新規作成)。
- メニューから 「API keys」 を開きます。
- 「Create new secret key」(新しい秘密の鍵を作る)ボタンを押し、名前(例:
my-cli-agent)を付けます。 - 鍵(
sk-で始まる長い文字列)を、その場でコピーして安全な場所に保存します。⚠️ こちらも 一度しか表示されません。 - 「Billing」(課金)でクレジットカードなどを登録します(未登録だと
quota(クォータ)エラーになります)。 - 「Usage limits」(使用上限) で月の上限額を、小さめに決めておきます。
💡 OpenAI で取った鍵は、付録Bでだけ使います。今は 取って保存しておくだけ でOKです。
🔑 鍵の置き方(超重要・🟢 基礎)
取った鍵は、コードに直接書かず、.env(環境変数を書くファイル)に置きます。プロジェクトのいちばん上のフォルダに .env という名前のファイルを作り、こう書きます。
# .env ← このファイルは絶対に git に上げない
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx
1行ずつ読むと:
ANTHROPIC_API_KEY=sk-ant-...:Anthropic(Claude)で取った鍵を、ANTHROPIC_API_KEYという名前で置く。本編で使う主役。sk-ant-...のところは、自分がコピーした鍵に置きかえます。OPENAI_API_KEY=sk-...:OpenAI の鍵は、付録Bを試すときだけ必要。今いらなければ、この行は無くてもOK。
次に、この鍵入りファイルを git に上げないように、.gitignore(gitに無視させるものを書くファイル)に登録します。
# .gitignore
.env
1行ずつ読むと:
.env:鍵の入った.envを git の管理から外す。これを忘れて公開リポジトリに上げてしまうと、世界中に鍵がバレます(事故で一番多いパターン)。最初にこの1行を入れておけば安全です。
最後に、コード側はこう書くだけ。鍵をコードに一切書きません。
import Anthropic from "@anthropic-ai/sdk";
const anthropic = new Anthropic(); // 環境変数 ANTHROPIC_API_KEY を自動で読む
1行ずつ読むと:
import Anthropic ...:公式SDK(道具箱)を読み込む。new Anthropic():クライアントを作る。引数を渡していないのがポイント。SDKが.env等にあるANTHROPIC_API_KEYを自動で見つけて使ってくれるので、鍵をコードに書く必要がありません。だからコードを git に上げても鍵は漏れません(鍵は.envの中。その.envは.gitignoreで除外ずみ)。
💡
.envの中身をプログラムから読み込むには、import "dotenv/config";のように dotenv(どっとえんぶ) を一度読み込みます(本編・第2章で登場)。要するに「.envファイル →process.env(環境変数)→ SDKが自動で参照」という流れです。
🛡 共通の鉄則(3つだけ・🟢 基礎)
プロバイダ(Anthropic でも OpenAI でも)に関係なく、守ることはこの3つだけです。
- ① 鍵をコードに直書きしない。 いつも
.envに置き、コードからはnew Anthropic()のように自動で読ませる。 - ② 鍵を git に上げない。
.gitignoreに.envを入れる。スクリーンショットやチャットに鍵を貼るのもNG。 - ③ 漏れたら即・無効化して再発行。 一度でもネットに出た鍵は「漏れた」とみなし、管理画面で削除(無効化)→ 新しい鍵を作り直す。古い鍵を使い続けないこと。
💡 ②と③は、前作 ChatGPTクローンの「秘密のAPIキーを守る」とまったく同じ考え方です。今回は画面が無いぶん、鍵が表に出る経路がそもそも少ない(自分のPCの環境変数だけ)。それでも「上げない・漏れたら作り直す」は変わりません。
⚠️ よくあるつまずき
- 支払いを設定していないのに呼んで、
401やquota(クォータ)/creditエラーが出る → Billing(課金)の登録が済むまで使えません。Anthropic・OpenAIとも、まず支払い設定を済ませましょう。 - 使用上限(予算)を決めずに使い始める → 上限が無いと請求が青天井に増える危険があります。必ず小さめの上限から。エージェントはループで回るので、ここは特に大事です。
- 鍵は基本2回見られないのに、メモし忘れる → 発行直後にコピーし忘れたら、その鍵はもう取り出せません。落ち着いて作り直し(新しい鍵を発行)ましょう。
.envを git に上げてしまった → たとえ後で消しても、履歴に残る=漏れたとみなします。すぐ管理画面でその鍵を無効化して再発行してください。- 「無料枠(むりょうわく)があるはず」と思い込む → 無料のお試し分は、無かったり期限切れだったりします。基本は「使った分だけ有料」 と考えるのが安全です。
📝 ことばメモ
- APIキー:LLMを使うための秘密の合鍵。
ANTHROPIC_API_KEY(Anthropic)/OPENAI_API_KEY(OpenAI)という名前で環境変数に置く。料金は持ち主に請求される - 環境変数(かんきょうへんすう):プログラムの外側に置く設定値。鍵のような秘密は、コードに書かずここに置く。
.envに書いて使うのが定番 .gitignore:git に「無視してほしいファイル」を書くファイル。.envを入れて、鍵をリポジトリに上げない- 使用上限/予算(Usage limits / Cost limits):「いくらまで使ってよいか」の上限。事故的な高額請求を防ぐ“ブレーキ”
- 課金(billing/ビリング):使った分の料金を支払う仕組み・その設定画面