いずみこんな悩みを解決できる記事を書きました!
僕は現役フリーランスエンジニア(歴10年)で、資格は13個保有しています。
「Claude APIで拡張思考(Extended Thinking)をPythonから使いたい」とお考えではありませんか?
複雑な推論やコード生成の精度を上げたい方へ。
Claude APIには、回答を出す前にモデルが内部で考える拡張思考という仕組みが用意されています。



数行の追加でオンにできます。
ベリーイージーなのでサクッと解説します。
ということで、本記事ではClaude APIの拡張思考をPythonで実装する方法を解説します。



すぐ読み終わるので、ぜひ最後まで読んでくださいませ。
| 【当サイト】おすすめフリーランスエージェント3選 | |||
|---|---|---|---|
| エージェント | 評価 | ポイント | 公式サイト |
レバテックフリーランス | 5.0 | 業界最大級のエージェント。 高単価案件が豊富。 | 公式 |
Midworks | 4.8 | 満足度調査で 3年連続3冠を達成。 | 公式 |
ITプロパートナーズ | 4.6 | 週2〜3向けの案件が豊富。 | 公式 |
【AI】Claude APIの拡張思考をPythonで実装する方法
早速、Claude APIの拡張思考をPythonで実装する方法を解説します。
拡張思考(Extended Thinking)とは
拡張思考は、Claudeが最終的な回答を書く前に、内部で推論のステップを踏む機能です。
数学の証明・アルゴリズム設計・多段階の分析など、一度で答えを出しにくいタスクで精度が上がります。
Claude APIでは、モデルが必要な分だけ考えるAdaptive Thinkingという方式が推奨されています。
以前は思考に使うトークン量をbudget_tokensで固定指定していましたが、新しいモデルでは廃止され、指定するとエラーになります。



「どれくらい考えさせるか」を人間が細かく決めなくてよくなった、というのが大きな変化です。
事前に準備するもの
必要なものは、Python環境とanthropicライブラリ、そしてAPIキーの3つです。
pipでインストールします。
pip install anthropic取得したAPIキーを環境変数ANTHROPIC_API_KEYに設定します。
export ANTHROPIC_API_KEY="sk-ant-xxxxx"anthropicライブラリは環境変数ANTHROPIC_API_KEYを自動で読み込みます。
拡張思考を有効にして呼び出す
thinkingパラメータに{"type": "adaptive"}を渡すと、拡張思考が有効になります。
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=[
{"role": "user", "content": "1から100までの素数の個数を、手順を踏んで求めてください。"}
],
)
for block in response.content:
if block.type == "thinking":
print("思考:", block.thinking)
elif block.type == "text":
print("回答:", block.text)レスポンスのcontentは、複数のブロックが入ったリストです。
typeがthinkingのブロックに思考内容、textのブロックに最終的な回答が入ります。



thinkingブロックとtextブロックを分けて処理するのがポイントです。
思考の深さをeffortで調整する
どこまで深く考えるかは、output_configのeffortで調整します。
指定できる値はlow・medium・high・xhigh・maxの5段階で、デフォルトはhighです。
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "low"},
messages=[
{"role": "user", "content": "配列を昇順にソートする関数をPythonで書いてください。"}
],
)単純なタスクはlowにすると、トークン消費とレイテンシを抑えられます。
正確さを最優先したい場合はmaxを指定します。



effortを上げるほど賢くなりますが、料金と待ち時間も増えます。
まずはlowかmediumから試すのがおすすめです。
思考の要約を表示する
拡張思考をオンにしても、デフォルトでは思考テキストは空文字で返ります。
思考の中身を読みたい場合は、thinkingに"display": "summarized"を追加します。
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"},
messages=[
{"role": "user", "content": "在庫管理システムのテーブル設計を提案してください。"}
],
)
for block in response.content:
if block.type == "thinking":
print(block.thinking)
elif block.type == "text":
print(block.text)summarizedを指定すると、推論の要約がthinkingブロックに入ります。
生の思考過程そのものは、どの設定でも返らない仕様です。
ストリーミングで思考を受け取る
待ち時間が長くなりやすいので、拡張思考はストリーミングと組み合わせると体感が良くなります。
client.messages.streamを使い、thinking_deltaとtext_deltaのイベントを分けて処理します。
with client.messages.stream(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"},
messages=[
{"role": "user", "content": "クイックソートの実装と計算量を説明してください。"}
],
) as stream:
for event in stream:
if event.type == "content_block_delta" and event.delta.type == "thinking_delta":
print(event.delta.thinking, end="", flush=True)
elif event.type == "content_block_delta" and event.delta.type == "text_delta":
print(event.delta.text, end="", flush=True)thinking_deltaで思考の要約、text_deltaで回答本文が少しずつ届きます。
マルチターンで思考を引き継ぐ
会話を続ける場合は、同じモデルに対してthinkingブロックを含めた履歴をそのまま送り返します。
レスポンスのcontentを、そのままassistantメッセージのcontentに入れるだけです。
messages = [
{"role": "user", "content": "二分探索をPythonで実装してください。"}
]
first = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=messages,
)
messages.append({"role": "assistant", "content": first.content})
messages.append({"role": "user", "content": "計算量も教えてください。"})
second = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=messages,
)first.contentをそのまま履歴へ戻すことで、前のターンの思考が保持されます。



thinkingブロックを削って戻すと、次のターンの精度が落ちることがあります。
丸ごと戻すのが安全です。
拡張思考を使うべき場面
判断の目安は「質問に30秒で答えられるかどうか」です。
すぐ答えが出る質問なら、拡張思考はオフのままで問題ありません。
多段階の推論・コード生成・数学・バグ調査といったタスクでは、拡張思考をオンにすると精度が上がります。
単純な分類・要約・定型的な応答では、拡張思考はコストとレイテンシを増やすだけになりがちです。



すべての呼び出しでオンにするのではなく、難しいタスクに絞って使うのがコスパの良い使い方です。
| 【当サイト】おすすめフリーランスエージェント3選 | |||
|---|---|---|---|
| エージェント | 評価 | ポイント | 公式サイト |
レバテックフリーランス | 5.0 | 業界最大級のエージェント。 高単価案件が豊富。 | 公式 |
Midworks | 4.8 | 満足度調査で 3年連続3冠を達成。 | 公式 |
ITプロパートナーズ | 4.6 | 週2〜3向けの案件が豊富。 | 公式 |
【厳選】フリーランスエンジニアにおすすめなエージェント3選


フリーランスエンジニアになるにはエージェントから案件をもらう必要があります。
僕が実際に利用しているおすすめエージェントを紹介しますね。



エージェントは必ず複数登録してください。
担当者によっては「全然案件紹介してくれない…」みたいなこともあるので…
僕は実際に5つのエージェントを使い回していますよ。
フリーランスを始めるなら「レバテックフリーランス


」
- 業界最大級の案件数。
- 業界トップクラスの高単価報酬、低マージン(平均年収862万円)。
- 案件参画中のフォローの充実。
※詳細は「【業界最大手】レバテックフリーランスとは?メリットや利用手順を解説!」を参照。
レバテックフリーランス
![]()
![]()
とにかく案件数が多いので、とりあえず登録しておけば間違いないエージェントです!



僕もはじめてフリーランスの案件を貰ったのはレバテックフリーランス
![]()
![]()
保有している案件数が多いので、業務経験がなくても何かしらの案件は紹介してもらえますよ(僕はJavaの経験3年でも案件を貰えました)。
手厚い保障を重視したいなら「Midworks


」
- 手厚い保障で正社員並みの安心感。
- 還元率60%超え&単価公開でクリアな契約。
- 給与保障制度(審査あり)。
Midworks
![]()
![]()
フリーランスを目指しているけど不安な方や保障を重視したい方におすすめです。



僕も何度か案件を紹介してもらいました。
自分のスキルに合った案件を紹介してもらえましたし、電話のやり取りも非常に丁寧でした。
週2〜3日の案件探しなら「ITプロパートナーズ


」
- IT案件に特化したフリーランスエージェント。
- 週2〜3日の案件が豊富。
- リモート案件が多く、直エンドなので単価も高い。
※詳細は「【週2・3案件】ITプロパートナーズとは?メリットや利用手順を解説!」を参照。
ITプロパートナーズ
![]()
![]()
週2〜3日から参画できる案件が豊富なので、起業したい人にもおすすめです。



週2〜3日の案件はある程度スキルがないと紹介してもらえない印象です。
とはいえ、週5の案件ももちろんありますし、僕が利用した時は迅速・丁寧に対応していただきました!
よくある質問
拡張思考はどのモデルで使えますか?
Adaptive Thinkingは、Claude Opus 4.6・Sonnet 4.6以降のモデルで利用できます。
claude-sonnet-5やclaude-opus-5でもそのまま使えます。
budget_tokensは今でも使えますか?
新しいモデルではbudget_tokensは廃止されており、指定すると400エラーになります。
代わりにoutput_configのeffortで思考量を調整します。
拡張思考をオンにすると料金は上がりますか?
思考に使われたトークンも出力トークンとして課金されます。
effortをlowに下げる、簡単なタスクではオフにする、といった使い分けでコストを抑えられます。
思考の生のログは取得できますか?
生の思考過程は取得できない仕様です。
displayにsummarizedを指定すると、要約版の思考だけを読めます。
まとめ
今回は、Claude APIの拡張思考をPythonで実装する方法について解説しました。
以下が本記事のまとめになります。



最後までお読みいただき、ありがとうございました!
| 【当サイト】おすすめフリーランスエージェント3選 | |||
|---|---|---|---|
| エージェント | 評価 | ポイント | 公式サイト |
レバテックフリーランス | 5.0 | 業界最大級のエージェント。 高単価案件が豊富。 | 公式 |
Midworks | 4.8 | 満足度調査で 3年連続3冠を達成。 | 公式 |
ITプロパートナーズ | 4.6 | 週2〜3向けの案件が豊富。 | 公式 |
- クソおすすめ本



海外のエンジニアがどういった思考で働いているかが理解できます。
海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。








