[{"data":1,"prerenderedAt":304},["ShallowReactive",2],{"content-/ai-vendor-strategy-writing":3,"all-pages-for-dir":302,"og-image-/ai-vendor-strategy-writing":303},{"id":4,"title":5,"body":6,"category":283,"concepts":284,"description":285,"extension":286,"meta":287,"navigation":228,"ogImage":284,"path":288,"project_name":289,"published":290,"publishedAt":291,"seo":292,"stem":293,"tags":294,"todo":284,"unpublished":290,"updatedAt":284,"__hash__":301},"pages/2026-07/2026-07-14/ai-vendor-strategy-writing.md","Claude Codeで他社モデルが動く非対称性からMCP解剖まで — AIベンダー戦略を対話で掘って記事5本を書いた日",{"type":7,"value":8,"toc":270},"minimark",[9,13,18,21,29,36,39,50,53,57,64,71,74,82,85,89,92,98,102,105,113,116,143,146,150,153,161,168,176,180,183,191,194,197,214,217,235,239,267],[10,11,12],"p",{},"朝のXで、OpenAIの開発者がライバルAnthropicのClaude Codeの中で自社最新モデル（GPT-5.6 Sol）を動かす手順を聞いている、という話題が流れてきて思わず笑った。この「流れのおもしろさ」をClaude Codeに投げたところから対話が転がり続け、気づけば公開記事5本・SVG図解18枚を書かせる1日になった。",[14,15,17],"h2",{"id":16},"発端-ライバルのハーネスで自社モデルを動かす手順","発端: ライバルのハーネスで自社モデルを動かす手順",[10,19,20],{},"まず話題の経緯を調べてもらい、ついでに手元のcodex CLIのモデル指定をGPT-5.6 Solに変えてもらった。miseで0.125.0にピン留めされていたcodex CLIを最新の0.144.3に上げるところまで一気に片付いた。",[10,22,23,24,28],{},"ここからが本題。「これ、GPT-5.6 SolをClaude Codeハーネスで使うってことは、APIを叩いて従量課金でやってるってことですよね」と聞いたら、逆だという答えが返ってきた。",[25,26,27],"strong",{},"従量課金APIではなく、ChatGPTサブスクリプションの枠内で使えている","。プロキシがAPI形式を翻訳し、課金は定額の中に収まる。そこがこのレシピの肝だった。",[10,30,31,32,35],{},"もうひとつ引っかかったのが規約の向き。サブスクのOAuthトークンをプロキシ経由で他社ハーネスに使わせる行為を、",[25,33,34],{},"OpenAIは許容し、Anthropicは規約違反として禁止している","。トークンの整理もひとつ勉強になった。OAuthトークンは常に発行元のバックエンドに流れる。変わるのは「どのハーネス（クライアント）がそのトークンを使うか」だけ。ハーネスとモデルは別レイヤーという見取り図が、この日の議論全部の土台になった。",[10,37,38],{},"「OpenAIはかなり大盤振る舞いしているのでは」と重ねたら、「差し出しているものはほとんどタダで、失うものがない攻めの一手」という分解が返ってきた。これは面白いので公開記事にしよう、と決めて図解付きでまとめさせた。",[40,41,42],"ul",{},[43,44,45],"li",{},[46,47,49],"a",{"href":48},"/gpt-56-sol-claude-code-harness","OpenAIがClaude Codeで自社モデルを動かす手順を自ら公開した。逆方向は規約違反なのに",[10,51,52],{},"図3枚はlintと禁止語チェックを通し、dev環境で描画とコンソールエラーなしまで確認させてから完成扱いにした。",[14,54,56],{"id":55},"app-serverと計算資源で奪ってエコシステムで囲う読み","App Serverと「計算資源で奪って、エコシステムで囲う」読み",[10,58,59,60,63],{},"記事が済んだあと、ふと思いついて「OpenAIのこの戦略ゆえにCodex App Serverが成り立ってるのでは？あれも定額の中で使える話ですよね」と投げた。調べてもらうと仮説はほぼ当たりで、因果はむしろ逆だった。",[25,61,62],{},"App Serverという「入口を選ばずサブスクに着地させる」設計が先にあり、他社ハーネス容認はその既定路線の延長","だった。",[10,65,66,67,70],{},"そこから戦略談義になった。自分の読みはこう。OpenAIは計算資源を大量に買い込み、競合のユーザーを奪って囲い込み、ハーネスの上にエコシステムを作らせてロックインする。Anthropicは確保している計算資源の量からしてこの手を取れない、とOpenAIは踏んでいる。返ってきた答えもこの読みと整合していた。「サブスク定額のまま使い放題」はGPUを余らせるほど積んでいる側にしか打てない手で、Anthropicは逆にヘビーユーザーのレート制限を強化する方向に動いてきた。",[25,68,69],{},"両社の打ち手は計算資源の在庫量をそのまま映している","。",[10,72,73],{},"ただし「ロックインした上で値上げ」には留保が付いた。OpenAI自身が「モデルは環境変数1本で乗り換えられる」世界を推進しているので、モデルではロックインを作れない。だからApple類比で言う堀は、ハード単体ではなく「ハード＋ID＋配布＋データ＋課金」の垂直スタックになる。配布層にあたるApp ServerとChatGPT内アプリに日本の税務がつながったらどうなるか、という思考実験まで転がして、後半の議論を独立記事にまとめさせた。",[40,75,76],{},[43,77,78],{},[46,79,81],{"href":80},"/openai-app-server-japan-tax","OpenAIのApp Serverに日本の税務がつながる日を考える",[10,83,84],{},"この記事は一発では決まらなかった。最初に出てきたBefore/After対比の図を見て「ビフォーはいらない、アフターだけに集中して」と作り直させ、「アプリとアプリの接続はどうなるのか」という追加の疑問を新セクション＋図6として足させた。最終的に図6枚。判断は自分、描き直しはAI、という分担で回した。",[14,86,88],{"id":87},"データがスイッチングコストになる説には食い下がった","「データがスイッチングコストになる」説には食い下がった",[10,90,91],{},"議論の途中、「ベンダーのサーバー側にユーザーのデータが溜まり続けることがスイッチングコストになる」という説明が出てきた。ここは懐疑的だったので、そのまま食い下がった。自分のデータは自分のローカルにある。クラウド側の会話データは削除される前提のはずで、業務のコンテキストはローカルにしかない。「そこはあなたの勘違いだと思う」とぶつけたら、前言撤回が返ってきた。",[10,93,94,97],{},[25,95,96],{},"開発者ワークフローに関しては、データ重力によるロックインはほぼ効かない。"," 自分の環境がいい証拠で、CLAUDE.md・rules・memo・セッションログ・Tursoの蔵書DBと、効いている文脈資産は全部ローカルか自分管理のストレージにある。Claude Codeのセッションの正体も手元のJSONLファイルだ。開発者の文脈は「ファイル」というポータブルな形式で存在していて、明日エンジンを乗り換えてもそのまま持っていける。ロックインの効き方は開発者と一般消費者で正反対になる——この訂正込みの整理が、上のApp Server記事の柱のひとつになった。",[14,99,101],{"id":100},"mcpapiのラップ-理解を3段階で更新した","MCP＝APIのラップ？ 理解を3段階で更新した",[10,103,104],{},"App Server記事の中で「この仕組みは既にMCPとして存在している」という一文が出てきて、ここで止まった。自分の理解では、MCPはAPIをコーディングエージェント用にラップしたもの。その理解で合っているのかを確かめたくて、個別記事としてまとめさせた。",[40,106,107],{},[43,108,109],{},[46,110,112],{"href":111},"/mcp-agent-app-connection","MCPはAPIを「エージェントが読める形」に包む規格",[10,114,115],{},"対話の往復で、理解が3段階で更新された。",[117,118,119,125,132],"ol",{},[43,120,121,124],{},[25,122,123],{},"「MCP＝APIのラップ」はほぼ正確","。正しくは「ラップの標準的な作法を定めたプロトコル」で、包んだ実体がMCPサーバー。エージェントが読むのは包みの表面の宣言（ツール名・説明文・入出力スキーマ）だけで、実装は見えないまま通信が成立する",[43,126,127,128,131],{},"「人間が読んでも仕様が読み取れるのでは？」と聞いたら、",[25,129,130],{},"ツール宣言はむしろ従来のAPI仕様書より人間に読みやすい","という答え。LLMが読める形式＝自然言語ベースの形式なので、「LLM向けに書く」と「人間向けに書く」がほぼ同じ行為になる",[43,133,134,135,138,139,142],{},"「じゃあエージェントは生のAPIも解析できるのでは？」と詰めたら、",[25,136,137],{},"できる","と認めた上で整理が返ってきた。MCPは「エージェントにできないことを可能にする」規格ではなく、",[25,140,141],{},"「エージェントが毎回やらなくて済むようにする」規格","。生のAPI解析との差は能力ではなく、経済とガバナンスにある",[10,144,145],{},"会計ソフトBが公開しているAPIリファレンスを例に「あれを読ませるのと何が変わるのか」まで具体化して、この3往復分を記事に追記させた。",[14,147,149],{"id":148},"コードで確かめる-会計ソフトbの公式mcpサーバーを解剖","コードで確かめる: 会計ソフトBの公式MCPサーバーを解剖",[10,151,152],{},"ここまで来ると、抽象論ではなくコードベースで正確に理解したくなった。会計ソフトBの公式MCPサーバーはOSSで公開されていたので、クローンして解剖する記事を作らせた。調査はサブエージェント3体を並列で派遣し、①OpenAPI→ツール変換パイプライン、②認証・トークン・エラー処理の配管、③サーバー構成とAgent Skillsの役割分担に分けて読ませた。",[40,154,155],{},[43,156,157],{},[46,158,160],{"href":159},"/freee-mcp-anatomy","公式MCPサーバーのコードを開く。「APIをラップする」の実体は、宣言ではなく門番と配管だった",[10,162,163,164,167],{},"設計は予想とかなり違っていて、そこが記事の目玉になった。",[25,165,166],{},"277本のエンドポイントに対して、ツールはわずか15個","。OpenAPIスキーマはツール宣言の材料ではなく実行時の検証テーブルとして働き、APIリファレンスの知識はAgent Skillsに分離されていた。「MCP＝APIのラップ」という前の記事の理解が、実物のコードでは「門番と配管」として実装されている。引用したコードと数値は、公開前に元コードと突き合わせる検証工程を挟ませた。",[10,169,170,171,175],{},"読み終えたら次が欲しくなり、「ミニマムなAPIを自作してMCP化する一連のハンズオン講座を作ってほしい」と頼んだ。税理士・会計士向けの1コンテンツとして計画書を書かせ、Codexレビューに4往復かけて（致命的指摘10点→全反映）承認まで通した。実装は同日の別セッションに引き継ぎ、その日のうちに完成した（記録: ",[46,172,174],{"href":173},"/journal-mcp-handson-build","ハンズオン講座を作った日","）。",[14,177,179],{"id":178},"寄り道-教養がないと刺激でしか心を満たせない","寄り道: 「教養がないと刺激でしか心を満たせない」",[10,181,182],{},"戦略談義と並行して、別セッションでもう1本書かせた。「教養がないと刺激でしか心を満たせない。教養があると味わうことで満たせる」というXのポストが良い言語化だと思ったので、同じことを言っている先人の言葉を集めて補強する記事にした。",[40,184,185],{},[43,186,187],{},[46,188,190],{"href":189},"/kyoyo-savoring-vs-stimulus","教養とは「お金を使わずに心を満たす能力」",[10,192,193],{},"8人の賢者の言葉と図解2枚。刺激と味わいの対比図も、dev環境で崩れなしを確認させてから公開準備にした。",[14,195,196],{"id":196},"今日の学び",[40,198,199,202,205,208,211],{},[43,200,201],{},"サブスクのOAuthトークンは常に発行元バックエンドに流れる。変わるのは「どのハーネスが使うか」。ハーネスとモデルを別レイヤーで見ると、ベンダー間の駆け引きが読みやすくなる",[43,203,204],{},"「定額のまま使い放題を開放する」は計算資源を余らせている側にしか打てない手。両社の打ち手はGPU在庫をそのまま映す",[43,206,207],{},"AIの説明に納得できないときは食い下がる価値がある。「データ重力によるロックイン」説は、自分のローカル環境を反例に出したら撤回された",[43,209,210],{},"MCPは能力の規格ではなく経済とガバナンスの規格。「毎回やらなくて済む」が正体、という一文で腹落ちした",[43,212,213],{},"対話で組んだ理解は、実物のコードで確かめると裏切られる。ツール宣言の自動生成を予想していたら、実物は手書き15ツール＋実行時検証だった。この裏切りが一番の収穫",[14,215,216],{"id":216},"積み残し",[40,218,221],{"className":219},[220],"contains-task-list",[43,222,225,230,231,234],{"className":223},[224],"task-list-item",[226,227],"input",{"checked":228,"disabled":228,"type":229},true,"checkbox"," ミニAPI自作→MCP化のハンズオン講座を実装する（同日の別セッションで完了 → ",[46,232,233],{"href":173},"記録","）",[14,236,238],{"id":237},"今日公開準備した記事5本","今日公開準備した記事（5本）",[117,240,241,246,251,256,262],{},[43,242,243,245],{},[46,244,49],{"href":48}," — 規約の非対称性と両社の収益構造。図3枚",[43,247,248,250],{},[46,249,81],{"href":80}," — 5層の垂直スタックと税務アプリ接続の思考実験。図6枚",[43,252,253,255],{},[46,254,112],{"href":111}," — 「MCP＝APIのラップ」理解の検証と4つの疑問。図4枚",[43,257,258,261],{},[46,259,260],{"href":159},"公式MCPサーバーのコードを開く"," — 会計ソフトBのOSS実装をコード引用で解剖。図3枚",[43,263,264,266],{},[46,265,190],{"href":189}," — Xのポストを8人の言葉で補強。図2枚",[10,268,269],{},"いずれもdev環境で図の描画とコンソールエラーなしを確認させてから完成扱いにした。",{"title":271,"searchDepth":272,"depth":272,"links":273},"",2,[274,275,276,277,278,279,280,281,282],{"id":16,"depth":272,"text":17},{"id":55,"depth":272,"text":56},{"id":87,"depth":272,"text":88},{"id":100,"depth":272,"text":101},{"id":148,"depth":272,"text":149},{"id":178,"depth":272,"text":179},{"id":196,"depth":272,"text":196},{"id":216,"depth":272,"text":216},{"id":237,"depth":272,"text":238},"dev",null,"OpenAI開発者がClaude Code上で自社モデルGPT-5.6 Solを動かす話題から出発し、規約の非対称性・App Server戦略・データのスイッチングコスト説を対話で検証。MCP＝APIのラップという理解をOSSのコード解剖で確かめ、公開記事5本と図解18枚を書いた1日の記録。","md",{},"/ai-vendor-strategy-writing","mdx-playground",false,"2026-07-14T00:00:00.000Z",{"title":5,"description":285},"2026-07/2026-07-14/ai-vendor-strategy-writing",[295,296,297,298,299,300],"OpenAI","Anthropic","Claude Code","MCP","AIエージェント","開発日記","6XZ0E0TzjGON68P-NeszGUTl1MYpgb0HFgHLU03tghM",[],"https://log.eurekapu.com/og/blog/ai-vendor-strategy-writing.png?v=2026-07-14T00%3A00%3A00.000Z&title=Claude%20Code%E3%81%A7%E4%BB%96%E7%A4%BE%E3%83%A2%E3%83%87%E3%83%AB%E3%81%8C%E5%8B%95%E3%81%8F%E9%9D%9E%E5%AF%BE%E7%A7%B0%E6%80%A7%E3%81%8B%E3%82%89MCP%E8%A7%A3%E5%89%96%E3%81%BE%E3%81%A7%20%E2%80%94%20AI%E3%83%99%E3%83%B3%E3%83%80%E3%83%BC%E6%88%A6%E7%95%A5%E3%82%92%E5%AF%BE%E8%A9%B1%E3%81%A7%E6%8E%98%E3%81%A3%E3%81%A6%E8%A8%98%E4%BA%8B5%E6%9C%AC%E3%82%92%E6%9B%B8%E3%81%84%E3%81%9F%E6%97%A5&author=Kei%20Komatsu&sig=894a392fb481a835",1784186907820]