自作CLIエージェントで学ぶ AIエージェント開発入門 — はじめに・目次

このページは教材の入口(ハブ)です。まずここを読んで、上から順に各章へ進んでください。

この教材は人気シリーズの第3弾です。第1弾 Twitterクローンで学ぶWeb開発入門 — はじめに・目次 は「そのデータは誰のもの?(データ分離)」、第2弾 ChatGPTクローンで学ぶ LLMアプリ開発入門 — はじめに・目次 は「記憶守り」を背骨にしました。今回は——Claude Code のような「考えて、自分で手を動かす」CLIエージェントを、小さく作りながら学びます。

🤝 前作の続きです。 ChatGPTクローンで作ったのは “おしゃべりするAI”。今回はそのAIに 「手」を持たせて、自分で作業させます。じつは前作の第12章で「ツールを1回だけ呼ぶ」ところまで作りました。今回はそれを ぐるぐる回るループ にして、本物の道具(ファイルを読む・書く・コマンドを走らせる)を持たせ、安全に動かします。これが「エージェント」の正体です。

⚠️ 最初の心構え:まずは「それっぽく動く」でOK。精度は気にしない。 この教材で作るのは、Claude Code の挙動をなぞる小さな試作です。正直に言うと——本物の Claude Code のように“安定して・高性能に”動かすのは、ものすごく難しい。膨大な作り込み(コンテキストの渡し方、道具の設計、失敗の処理…)の上に成り立っています。 だから最初は、うまく動かない時があっても気にしないでください。まず目指すのは「お、自分のエージェントが勝手にファイルを読んで直した!」という“動く感動”。賢く・安定させるのは、一通り作れてから——その道しるべは、最終章の「ここから先へ」で渡します。

なぜ「CLIエージェント」なのか

いま、あなたはたぶん Claude Code / Cursor / Codex のような「AIに頼むと、コードを読んで・直して・コマンドまで走らせてくれる道具」をユーザーとして毎日さわっています。あれは魔法に見えますが、中身は意外と単純な部品の組み合わせです。

ターミナル(黒い画面)で動く小さなエージェントには、その勘どころがぎゅっと詰まっています。

  • 「このテスト直して」と頼むと、自分でファイルを読む(道具を使う)
  • 直したら、テストを走らせて結果を確かめる(結果を見て、また考える=ループ)
  • rm のような危ない操作の前に「実行していい?」と聞いてくる(許可・確認)
  • CLAUDE.md に書いたルールを守る(性格と規範)
  • 「いつもの手順」を覚えていて、同じ段取りでやってくれる(スキル)

これらを1つずつ自分で作ると、AIエージェントの仕組みが手ざわりで分かります。しかも、あなたはユーザーとして動きをすでに知っているので、説明がスッと入ります。

この教材の特徴(ふつうの入門書とどう違う?)

ふつうの本は「エージェントとは」「ReActとは」「プランニングとは」と、むずかしい言葉の説明から入ります。だから難しく感じます。

この教材は 逆向き に進みます。

すでに知っている Claude Code の動きなぜそう動くのか自分で作るとこう書く

この教材を貫く2本の背骨

全体を、たった2つの問いが貫いています。各章はどちらか(または両方)に必ずつながります。

🔁 背骨①:AIは「考える」だけ。動くのは“あなたのコード”

LLM(AIの頭脳)は、文章を作ることしかできません。ファイルを読むのも、コマンドを走らせるのも、実際に手を動かすのはあなたが用意した道具(コード)です。エージェントとは、「考える → 道具を使う → 結果を見て、また考える」 という往復(ループ)をぐるぐる回す仕組みのこと。 この“能力”には2種類あります —— 🔧 道具(tools)=手(ファイルを読む・コマンドを走らせる等の低レベルな力)と、📜 スキル(skills)=よく使う手順の“型”(道具を組み合わせた段取りをまとめて持たせる)。道具→スキル→(付録Gの)MCPで後付け、と能力は広げていけます。

🛡 背骨②:手を持たせるほど危ない。どこで人間が確認する?

「コマンドを走らせる」道具は、便利だけど一番危険です。AIが暴走したり、悪い入力にだまされたりすると、ファイルを消したり、変な所へ送信したりしかねません。だから 何を許し、どこで人間に「やっていい?」と確認させ、どうやって取り消せるようにするか を設計します。あの「実行していい?」プロンプトは、飾りではなく安全の要です。

💡 2本の背骨に加えて、エージェントの“賢さ”を地味に大きく左右するのが、システムプロンプト(頭脳に最初に渡す性格・規範=Claude Code の CLAUDE.md。第10章)と、コンテキスト(作業中にAIが一度に見ている情報=これまでのやりとり・読んだファイルの中身・道具の結果。第14章)の2つです。本書では要所でさらっと触れ、専用章で深掘りします。

各章の読み方(共通の型)

どの章も、同じ順番で書いてあります。「いつものパターン」で読めます。

  1. 📱 Claude Code ではこう見える … あなたが知っている動きから
  2. 🤔 なぜ?/やらないとどうなる … 考え方と、サボったときの失敗例
  3. 🛠 こう作る … 実際の作り方(コピペで動く最小コード・1行ずつ解説)
  4. ⚠️ ハマりどころ … よくある間違いと直し方
  5. 🤖 AIに頼むなら … Vibe coding(AIに作らせる)のコツ

各項目には、むずかしさの目印を付けます。

  • 🟢 基礎:全員が読むところ
  • 🔧 応用:もう少し深く知りたい人向け(読み飛ばしてもOK)

💡 本編は🟢基礎で一直線に進みます。難しい話(ストリーミングの中身・MCP・コスト管理の作り込みなど)は、本編では“紹介”にとどめ、くわしくは付録に置いています。

用意するもの

  • パソコン(WindowsでもMacでもOK)
  • Node.js(CLIを動かす土台。コードは TypeScript で例示)
  • ターミナルに慣れている必要はありません。コマンドはコピペでOK
  • LLMのAPIキーAnthropic(Claude) を主に使います。取り方は付録A。OpenAIでも動きます=付録B)
  • AIコーディングツール(Claude / Cursor / Codex など)

💡 今回は ブラウザの画面もデータベースもログインも要りません。前作(ChatGPTクローン)より構成はむしろシンプルで、エージェントは自分のパソコンの中(localhost)で動かします。難所は「画面づくり」ではなく、“考えて手を動かすループ”そのものです。 💡 本編のコードは Anthropic(Claude) を主に使います(Claude Code ベースなので自然です)。OpenAI(GPT)やローカルLLMへの切り替えは付録B で、呼び出しを1か所差し替えるだけ。エージェントの“仕組み”は、中の頭脳を差し替えても変わりません。 💡 本質は道具でなく考え方です。コード例はTypeScriptですが、「手元のLLMに『これをPythonで書き換えて』と頼めば他の言語でも通用する」と各章で添えます。


目次

✅=執筆ずみ(全章+付録、公開しました)。

第1部 エージェントってなに?

付録(難所・手順はここに集約)


この教材の到達点

最後まで進むと、こんなものが作れて、仕組みも説明できるようになります。

  • ターミナルで動く、自分専用の小さなコーディングエージェント(Claude Code のミニ版)
  • 「このファイル直して」と頼むと、自分でファイルを読み・直し・コマンドを走らせる
  • 危ない操作の前に 「実行していい?」と確認し、取り消せる安全設計
  • スキルで「いつもの手順」を型にして、同じ段取りを再利用できる
  • AIに作らせたエージェントのコードを読んで「ここが危ない/ここが安全」と判断できる目

関連ページ

  • ChatGPTクローンで学ぶ LLMアプリ開発入門 — はじめに・目次 — 第2弾。LLMの呼び出し・ツールの1往復・鍵の守りはこちらが土台
  • Twitterクローンで学ぶWeb開発入門 — はじめに・目次 — 第1弾。データ分離・認証・最小権限の基礎
  • 第4回 Singularity Society BootCamp 企画ノート — この教材を作る背景(生成AI / Vibe coding 重視のブートキャンプ)