0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

その「トークン」、文字の話ですか?ログインの話ですか?

0
Posted at

その「トークン」、文字の話ですか?ログインの話ですか?

最近AIを使っていて思いました。

みんな「トークン」って言いすぎじゃない?

AIの話でもトークン。
認証の話でもトークン。
APIの話でもトークン。

最初は普通にちんぷんかんぷんでした。


結論

まず、これだけでだいぶ楽です。

AIのトークン = AIが文章を読む単位
認証のトークン = APIやサービスに入るための通行証
JWT = トークンの形式のひとつ

AIのトークン

AIの文脈でいうトークンは、ざっくり言うと

AIが文章を読むための単位

です。

人間は文章を文字や単語として読みますが、AIは内部的に文章をトークンという単位に分けて処理します。

OpenAIの説明でも、トークンはモデルが処理するテキストの単位で、英語では1トークンがおよそ4文字、100トークンがおよそ75語の目安とされています。
参考: OpenAI Help: What are tokens and how to count them?

つまりAI界隈で、

トークン数が多い
トークンを節約する
コンテキスト長が足りない

と言っているときは、だいたい

AIに読ませる文章量の話

です。


AIのトークンは料金にも関係する

AI APIでは、入力と出力のトークン数が料金に関係します。

OpenAI APIでも、モデルごとにinput tokens / output tokensなどの単位で料金が設定されています。
参考: OpenAI API Pricing

なので、長い仕様書やログを全部貼ると、普通にトークンを食います。

ここでのトークンは、ログインとかJWTの話ではありません。


認証のトークン

認証の文脈でいうトークンは、AIのトークンとは別物です。

ざっくり言うと、

APIやサービスに入るための通行証

です。

APIを叩くときによく見るこれです。

Authorization: Bearer <access_token>

OAuth 2.0は、HTTPサービスに対して限定的なアクセスを与えるための認可フレームワークとして定義されています。
参考: RFC 6749: The OAuth 2.0 Authorization Framework

つまり認証界隈で、

トークンが切れた
アクセストークン渡して
リフレッシュトークンで再発行して

と言っているときは、

ログイン状態やAPIアクセス権の話

です。


JWTは何なのか

JWTは JSON Web Token の略です。

大事なのはこれです。

JWT = トークンの形式のひとつ

JWTはだいたいこういう形をしています。

xxxxx.yyyyy.zzzzz

RFC 7519では、JWTは2者間でclaimsをJSONオブジェクトとして安全に表現するためのコンパクトな手段として定義されています。
参考: RFC 7519: JSON Web Token

ちなみに、JWTの中身は基本的に読めます。

JWTは暗号化されてるから中身は見えない

と思いがちですが、署名付きJWTは主に改ざん検知のためのものです。

なので、JWTのPayloadにパスワードやAPIキーを入れるのはやめた方がいいです。


一番ややこしいやつ

トークンが切れた

この一言だけだと、何の話か分かりません。

言い方 意味
AIのトークンが足りない モデルに入る文章量を超えそう
トークン数が多い AIに読ませる量が多い
アクセストークンが切れた 認証情報の有効期限が切れた
リフレッシュトークンが切れた 再ログインが必要かもしれない
JWTを検証する 認証・認可用のトークン形式を確認する

同じ「トークン」でも、意味が違いすぎます。


まとめ

自分はこう覚えることにしました。

AIのトークン = 文章を読む単位
認証のトークン = 通行証
JWT = 通行証の形式のひとつ

もう少し雑に言うと、

AIのトークンは「文字っぽいやつ」
認証のトークンは「入館証っぽいやつ」
JWTは「入館証のフォーマットっぽいやつ」

です。

最後に一言でまとめると、これです。

その「トークン」、文字の話ですか?ログインの話ですか?

これを意識するだけで、AI・API・認証周りの会話がだいぶ整理しやすくなりました。


参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?