ブログに戻る

AI入門詳細解説

AIエージェントと話してサイトを構築する:HackerTubeの例

KarpathyのHackerTubeがどのように4つの段階に分かれたか、エージェントが代行できない3つのステップ、そして一括フィルター段階のコスト見積もり方法。

投稿者: CheapTokens Team公開日 読了時間 6 分

カバー:話すだけでサイトを構築できるかと尋ねるチャットバブルと、その答え:はい、ただしキー、サーバー、ドメインを除く
このページの内容
  1. 4つの段階、この順番で
  2. エージェントが行ったこと、数字で見る
  3. あなたに残る3つのこと
  4. 自分のデータで同じ形を試す
  5. 一括段階のコスト

AIエージェントは3つを除いてサイト全体を構築できます。その3つとは、APIキー、サーバー、ドメインです。これがHackerTubeの分岐点です。HackerTubeは、Andrej KarpathyがClaudeと話すだけで約2時間で作ったと語るYouTube風のサイトです。以下では、プロジェクトが経た4つの段階、自分で用意しなければならないもの、そして反復的な中間段階を自分のデータで実行した場合のコスト見積もり方法を説明します。

4つの段階、この順番で#

Karpathy(AI研究者、OpenAI共同創業者、元Tesla AIディレクター、Eureka Labs創業者)は2026年10月31日に記事を公開しました:HackerTube on his blog。このサイトは、YouTube動画を推薦するHacker Newsのコメントを収集し、閲覧できるようにします。その背後には、ほとんどすべての「エージェントと話すだけ」プロジェクトが共有する骨組みがあります。自分で順番を並べてみてください:

順番に並べる

データからウェブサイトへのプロジェクトの段階を順番に並べる

  1. 生データセットをダウンロードする
  2. 各項目に対して小さなモデルを実行する:保持するか破棄するか
  3. 残ったものからインターフェースを構築する
  4. サーバーに配置する

第2段階だけが異質です。ダウンロード、構築、デプロイはそれぞれ1回だけ行われます。保持するか破棄するかの判断は、項目ごとに、数万回行われます。この点を覚えておいてください。コストの話に戻ってきます。

エージェントが構築したサイトの4段階:データ、一括フィルター、構築、デプロイ
エージェントと話すプロジェクトの骨組み。一括フィルターだけが項目ごとに繰り返される段階です。

エージェントが行ったこと、数字で見る#

Karpathyが説明する実行内容は次のとおりです。彼はClaude Codeデスクトップアプリで作業しました。デフォルト設定のOpus 5.5(medium effort)がHugging FaceからHacker Newsコメントデータセットをダウンロードしてフィルタリングしました。SonnetはClaude Code Workflow内でコメントを処理しました。結果として、YouTube動画を推薦する約4万件のコメント、2007年から2026年までの6,454本の動画が得られ、150のトピックに分類されました。その後、Opusがインターフェースを構築し、VPSにデプロイしました。サイトにはアカウント不要の「ForYou」レコメンド(状態はブラウザセッションに保存)、キーボードショートカット、データエクスポート機能があり、他の人が自分のエージェントにデータを渡せるようになっています。

HackerTubeの数字:約4万件のコメント、6,454本の動画、150のトピック、約2時間
Karpathyの2026年10月31日の投稿の数字。

投稿に書かれていないこと:コストやトークン数、そしてどのステップが単なるコードでどのステップがモデル呼び出しだったか。つまり「2時間」は時間であり、価格ではありません。この区別がなぜ重要か知りたい場合は、do agents need the model at every step?で説明しています。

あなたに残る3つのこと#

Karpathyは3つのステップを手作業で行いました:Google Cloud APIキーの作成(YouTubeメタデータ用)、VPSの起動、ドメインの購入です。共通点を見てください。それぞれがあなたのアカウントに紐づいています:ログイン、請求プロフィール、あなたの身元。エージェントはすべてのコマンドを書けますが、あなたの代わりにレジに立つことはできません。家を建てる業者を雇うようなものです:家は建ててくれますが、土地の契約はあなたが署名します。

ペアを合わせる

各ステップを、なぜあなたに残るのかと対応させる

  • YouTubeメタデータAPIキーを作成するあなたのGoogle Cloudアカウントに存在する
  • サーバーを起動するあなたのホスティングアカウントに請求される
  • ドメインを購入するあなたの名前で登録される
  • フィルタースクリプトとインターフェースを書くエージェントが行う部分

実際にはエージェントは停止して尋ねます。キーは自分で作成し、環境変数に入れ、エージェントには変数名だけを渡し、キー自体は決して渡さないでください。キーが初めての場合は、what an API key is and how to store it safelyが5分で説明します。

自分のデータで同じ形を試す#

reviews.csvに4万件の商品レビューがあり、バッテリー寿命に関するレビューだけを含む小さな検索可能ページを作りたいとします。HackerTubeの精神に沿ったプロンプト:

text
I have reviews.csv (40000 rows, column: text). Goal: a small searchable web page with only the reviews about battery life.

1. Look at the file and tell me what is in it. Change nothing yet.
2. Write a script that sends each review to a model and gets back keep or drop. Use an OpenAI-compatible API: base URL https://api.cheaptokens.dev/v1, key from the environment variable CHEAPTOKENS_API_KEY, model deepseek-ai/DeepSeek-V4-Flash-0731.
3. Run it on the first 100 reviews, show me the results and the tokens used. Wait for my OK before the full run.
4. Build the page from the kept reviews.
Whenever you need an account, a key or a payment from me, stop and tell me what to do.

ステップ3は盗む価値のある習慣です。100行ならほぼ無料で、4万件に費用をかける前にモデルの間違いを確認できます。最後の行は前のセクションからの引き継ぎを書き留めたものです。ベースURLとモデルIDはCheapTokens docsから取得します。キーはそこで自分で作成します。

一括段階のコスト#

繰り返される段階に戻ります。各レビューと1行の指示が約150トークン、回答(「keep」または「drop」)が約10トークンだとします。4万件のレビューでは、40000 × 150 = 6000000入力トークン、40000 × 10 = 400000出力トークンです。DeepSeek-V4-Flashではパス全体で$0.13、GLM-5.3-Flashでは$0.136です。入力と出力を合計すると、どちらもOpenRouterより安価です。各リクエストは小さいため、380Kと390Kのコンテキストウィンドウは関係ありません。重要なのは、トークン単価に非常に大きな呼び出し回数を掛けたものです。

数字を自分のデータに変えて確認してください:

コスト計算機

一括フィルター1パス:40,000項目

リクエストあたりの入力トークン数: 150 · リクエストあたりの出力トークン数: 10 · 1日あたりのリクエスト数: 40,000

モデル1日あたり1か月あたり
GLM-5.3-Flash$0.136$4.08
DeepSeek-V4-Flash$0.13$3.90
MiniMax-M2.7$0.36$10.80

これは1つの段階だけです。構築とデプロイはエージェントとの別セッションであり、実際のフィルタープロンプトは1行より長くなります。Filter 40K comments with an LLMでは完全なkeep/dropプロンプトを示し、model routingでは簡単な項目をまず安価なモデルに送る方法を説明しています。すべてのモデルの現在の価格は価格ページにあります。

クイックチェック

このようなプロジェクトで最も多く実行される段階はどれですか?

答えを表示

答え: 各項目の判定:保持するか破棄するか

keep-or-dropの呼び出しは項目ごとに1回実行されるため、4万項目なら4万回の呼び出しになります。だからこそ、呼び出しあたりの価格が最初に確認すべき数字なのです。

最初の一歩:その100行をfirst-request setupに通し、回答を読み、それから初めてエージェントに残りを実行させてください。