みんな AI エージェントについて話しています。でも、ほとんどの人にエージェントとは何かと尋ねると、「自律的に行動する AI」といった曖昧な答えが返ってきます。
実際のところは、もっと実用的です。エージェントはカテゴリーではありません。スペクトラム(段階)なのです。
このガイドでは、さまざまな AI ツールがそのスペクトラムのどこに位置するのか、基本的な LLM とのやり取りと真のエージェント的ワークフローを分けるものは何か、そして Claude Code を使って独自のエージェントを構築し、コードを書かずに Telegram に接続する方法を説明します。
その前に、X でフォローしてください。
X -
何がエージェントを作るのか
Claude に「今日は何を投稿すべき?」と尋ねるのはエージェントではありません。それはチャットです。
Claude に「今 AI で話題のトピックを 3 つ見つけて、最もエンゲージメントの可能性が高いものを選び、自分のスタイルで下書きを作成し、ファイルに保存して」と指示し、あなたが何も触らずにそれをすべて実行させること、それがエージェントです。
違いはモデルではありません。その周りの構造です。
エージェントには、通常のチャットにはない 3 つのものがあります。自分で呼び出せるツール(検索、ファイルシステム、コード実行、外部 API)。1 つのセッション内だけでなく、タスク間で持続するメモリ。そして、単一の応答を生成するまでではなく、タスクが完了するまで実行され続けるループです。
これら 3 つの要素を追加すればするほど、あなたの関与は減ります。それが基本的な考え方です。
スペクトラム:チャットからエージェントへ
一方の端には基本的なチャットがあります。あなたが尋ね、Claude が答え、セッションは終了します。ツールも、継続的な目標も、世界で行動する能力もありません。
一段階上:ツールが有効になった Claude。Claude が答える前にウェブを検索したり、添付ファイルを読んだり、画像を生成したりする場合、それはすでに少しエージェント的です。あなたはそれをステップごとに指示したわけではありません。Claude 自身が必要だと判断したのです。
さらに上:マルチステップのワークフロー。あなたが目標を与え、Claude がそれをステップに分解し、各ステップを実行し、結果を確認し、完成した出力を提供します。あなたはステップ間に関与しません。
最上位:完全に自律的なエージェント。エージェントはスケジュールで実行され、入力を監視し、外部サービスを呼び出し、人間がループ内にいなくても複雑なタスクを完了します。あなたは目標を一度設定し、出力を確認するだけです。
最下位と最上位の違いは、異なるモデルではありません。モデルを取り巻くもの、つまり呼び出せるツール、コンテキストを保持するメモリ、タスクが完了するまで実行され続けるループです。
今日構築できるエージェントの種類
エージェントが実際にどのようなものかを理解していただくために、以下にいくつかの例をまとめました。これらは限界ではありません。あなたの特定の状況に合ったものは何でも構築できます。
リサーチエージェント:トピックに関する情報を収集し、複数のソースを読み、重要なものを抽出し、構造化されたサマリーを提供します。あなたが質問を与えます。手動で何時間もかけてまとめていたであろう答えを返します。
ライティングエージェント:あなたが定義したシステムに従ってコンテンツを書きます。トーン、フォーマット、オーディエンス、トピックを渡します。あなたが一文一文を管理することなく、下書き、書き直し、編集を処理します。
コードエージェント:コードを書き、実行し、エラーを読み、修正し、続行します。コードが何をすべきかを説明します。エージェントが実装とデバッグのループを処理します。
ビジネスエージェント:反復的なビジネスタスク(メールの下書き、顧客リクエストの処理、リードの選別、レポートの生成)を処理します。ルールを定義すると、自動操縦で実行されます。
パーソナルエージェント:スケジュールを管理し、タスクを整理し、ブリーフィングを準備し、毎日手動で行っている計画作業を処理します。
最初のエージェントを構築する - ここから始めてください
Claude Code を使用して、リモートサーバー上で実行され、Claude を頭脳として使用する Telegram ボットを構築します。Claude Code がすべてのコードを書きます。あなたはやりたいことを平易な英語で説明するだけです。セットアップが完了すると、ボットとのすべての通信は Telegram を通じて直接行われます。
セットアップ全体には約 10 ~ 20 分かかります。コーディングの知識は必要ありません。
システムプロンプトテンプレート - プロンプト 2 に貼り付けてください
以下のセットアップからプロンプト 2 を実行するときは、どのような種類のエージェントが必要かを説明する必要があります。これらは既製のテンプレートです。該当するものをコピーし、プロンプト 2 の「エージェントは次のようにする必要があります:」と書かれている場所に貼り付けます。Claude Code がその特定のエージェントを構築します。状況に合わせて詳細を調整してください。
リサーチエージェント
1あなたはリサーチエージェントです。あなたの仕事は、私が与えるあらゆるトピックについて情報を収集、分析、統合することです。23リサーチタスクを与えられた場合:41. 回答すべき最も重要なサブクエスチョンを 3 ~ 5 つ特定する52. それぞれについて情報を検索する63. 各ソースの品質と関連性を評価する74. 質問に直接答えるものだけを抽出する85. 主要な発見、それを裏付ける証拠、埋められなかったギャップを含む構造化されたサマリーを提供する910フォーマット:見出し、箇条書き、明確なセクションを使用します。11何か確信が持てない場合は、その旨を明示的に述べてください。12無駄な言葉は追加しないでください。すべての文に情報が含まれている必要があります。
ライティングエージェント
1あなたはライティングエージェントです。私の声とスタイルでコンテンツを書きます。23私のスタイル:4- 会話調で、直接的、企業的な言葉遣いはしない5- 短い文と段落6- 曖昧な主張よりも具体的な数字と例7- 常に読者がすべきこと、または考えるべきことで締めくくる89ライティングタスクを与えられた場合:101. 提供されていない場合は、トピック、オーディエンス、希望する長さを尋ねる112. 最初の下書きを書く123. 私のスタイルルールに照らしてレビューする134. 公開準備が整った最終バージョンを提供する1415不要な導入は決して追加しないでください。最も重要なポイントから始めてください。
コードエージェント
1あなたはコードエージェントです。あなたの仕事は、コードを書き、デバッグし、改善することです。23コーディングタスクを与えられた場合:41. コードが何をすべきかについての理解を確認する52. 明確なコメントとともに解決策を書く63. エッジケースや潜在的な障害を特定する74. エラーがある場合は、助けを求める前に体系的にデバッグする89ルール:10- 意味のある変数名を使用して、クリーンで読みやすいコードを書く11- 常にエラーハンドリングを含める12- 各主要セクションが何をするかを平易な言葉で説明する13- 要件が不明な場合は、進める前に 1 つだけ明確化の質問をする
ビジネスメールエージェント
1あなたはビジネスメールエージェントです。私に代わってプロフェッショナルなメールを書きます。23私のコミュニケーションスタイル:4- 直接的で敬意を払う5- 不要な形式張りはしない6- 最初の文で要点を伝える7- 明確な次のステップで締めくくる89メールタスクを与えられた場合:101. メールの目的を特定する(情報提供、依頼、フォローアップ、確認)112. メールの目的を反映した件名を書く123. 最大 3 ~ 5 つの短い段落でメールを下書きする134. 1 つの明確なアクションアイテムまたは次のステップで締めくくる1415常に送信可能な状態のメールを書き、空白を埋めるテンプレートは書かないでください。
パーソナルプランニングエージェント
1あなたは私のパーソナルプランニングエージェントです。仕事の整理、タスクの優先順位付け、週の計画を手伝ってください。23タスクや目標を共有するとき:41. 緊急なものと重要なものを特定する52. 依存関係に基づいて現実的な順序を提案する63. 各タスクに必要な時間を見積もる74. 委任または削除できる可能性のあるものを指摘する89プロジェクトについて説明するとき:10- 具体的な次のアクションに分解する11- 最初に行うべき最も重要なことを特定する12- 従うことができるシンプルなチェックリストを作成する1314すべて実用的に保ってください。やる気を起こさせるような無駄な言葉は不要です。計画だけを提供してください。
始める前に必要なもの
1 - console.anthropic.com からの Claude API キー。これは開発者キーです。固定の月額料金ではなく、使用量に応じて支払います。1 日 50 メッセージを送信する個人用ボットの場合、選択するモデルにもよりますが、月額 1 ~ 5 ドルです。
2 - BotFather からの Telegram ボットトークン。
3 - Linux を実行する VPS。個人用 Telegram ボットの場合、強力なものは必要ありません。1 CPU、1GB RAM、20GB のストレージで十分すぎるほどです。DigitalOcean、Hetzner、Vultr の基本的なプランで動作し、月額約 4 ~ 6 ドルです。サーバーを入手したら、ターミナルで npm i -g @anthropic-ai/claude-code を実行して Claude Code をインストールします。
ボットに使用する Claude モデルと実際のコスト:

ほとんどの個人用ボットには、Sonnet 4.6 が適切な選択です。あらゆるタスクに十分な性能を持ち、日常的な使用には手頃な価格です。コストを最小限に抑えたい場合は Haiku 4.5 を使用してください。Opus 4.8 は、回答の品質が重要となる複雑な分析エージェントにのみ意味があります。
最初のエージェントを構築する - ステップ 1
VPS ターミナルを開き、Claude Code を起動します。このプロンプトを貼り付けて、すべてを構築させます。
エージェントに個性を与える
1Claude API を頭脳として使用する Telegram ボットを構築してください。23要件:4- 言語:Python5- Telegram 用ライブラリ:python-telegram-bot6- Claude モデル:claude-sonnet-4-67- ボットはメッセージを受信し、Claude API に送信し、Claude の応答を Telegram に返します8- ユーザーごとの会話履歴を維持します — 各ユーザーはセッション内で独自のコンテキストを持ちます9- ボットを紹介する /start コマンドを追加します10- そのユーザーの会話履歴をリセットする /clear コマンドを追加します1112必要なファイルをすべて作成します:メインボットファイル、requirements.txt、API キー用の .env ファイルテンプレート。13API キーをハードコードしないでください — 環境変数から読み取ってください。
バックグラウンドサービスとしてデプロイする
1このボットが Linux VPS 上で自動的に実行され、クラッシュした場合に再起動されるように、systemd サービスファイルを作成してください。23サービスは次のようにする必要があります:4- サーバー起動時に自動的に開始する5- クラッシュした場合に自動的に再起動する6- プロジェクトフォルダ内の .env ファイルから環境変数を読み込む7- 後で確認できるようにログをファイルに保存する89また、サービスをインストールし、開始し、実行中かどうかを確認し、ログを表示するための正確なターミナルコマンドも書いてください。
セッション間で永続的なメモリを追加する
1ボットは再起動すると会話履歴を失います。これを修正してください。23各ユーザーの会話履歴を、メッセージごとにディスク上の JSON ファイルに保存します。ボット起動時に自動的に読み込みます。45最大履歴長を追加します — ユーザーごとに最後の 20 メッセージのみを保持し、コンテキストウィンドウが長くなりすぎないようにします。
Claude Code ボットにスキルを追加する
スキルとは、時間をかけてボットに追加する機能です。それぞれが Claude Code に与える新しいプロンプトであり、Claude Code がそれを機能させるためのコードを書きます。以下は最も便利なものです。
スキル:ウェブ検索
エージェントは、メモリからのみ回答するのではなく、リアルタイムの情報を調べることができます。
1Tavily API を使用して、ボットにウェブ検索機能を追加してください。23ユーザーがニュース、価格、最近の出来事など、最新の情報を必要とする質問をした場合、ボットは自動的にウェブを検索し、その結果を応答に含めます。45ボットは、いつ検索するか、いつメモリから回答するかを自分で決定する必要があります。TAVILY_API_KEY を .env ファイルテンプレートに追加してください。67これをクリーンに実装するには、Claude のツール使用機能を使用してください。
スキル:メモを保存する
エージェントは、あなたが伝えたアイデア、タスク、調査結果などをファイルに保存し、後で取得することができます。
1ボットにメモ保存機能を追加してください。23ユーザーが「これを保存して」「これを覚えて」「メモ:」と言った場合、ボットはタイムスタンプ付きで内容を notes.txt ファイルに保存します。45最後に保存された 10 件のメモを返す /notes コマンドを追加してください。6保存されたすべてのメモを削除する /clearnotes コマンドを追加してください。
スキル:自分のアカウントのみに制限する
デフォルトでは、ボットを見つけた人は誰でも使用でき、あなたの API クレジットを消費します。これにより、あなただけにロックされます。
1ボットにユーザー制限を追加して、私だけが使用できるようにしてください。23私の Telegram ユーザー ID を ALLOWED_USER_ID として .env ファイルに追加します。4他の誰かがボットにメッセージを送信した場合、ボットは「このボットはプライベートです。」と応答し、そのユーザーからの以降のメッセージをすべて無視します。56また、自分の Telegram ユーザー ID を見つける方法(ボット自体を通じて、または別の方法で)も追加してください。
スキル:API コストを追跡する
Claude API はトークンごとに課金されます。これにより、常に支出額を把握できるシンプルなコストトラッカーが追加されます。
1ボットに基本的なコスト追跡機能を追加してください。23各 Claude API 応答の後、使用された入力トークン数と出力トークン数をログに記録します。4costs.json ファイルに累計を保持します。56次の項目を表示する /costs コマンドを追加してください:今日使用されたトークンの合計、全期間で使用されたトークンの合計、および claude-sonnet-4-6 の価格に基づく推定コスト(USD)。
スキル:毎日のスケジュールブリーフィング
エージェントは、あなたが尋ねなくても毎朝メッセージを送信します。
1ボットに毎日のスケジュールブリーフィングを追加してください。23毎日午前 8:00 に、ボットは私に次の内容のメッセージを送信します:41. やる気を起こさせる一言(短く、安っぽくないもの)52. その日の最優先事項を確認するように促すリマインダー63. 生産性または AI に関するランダムな有益な事実を 1 つ78.env ファイルから私の Telegram ユーザー ID に送信してください。9これを実装するには、schedule ライブラリまたは APScheduler ライブラリを使用してください。
セットアップ後に知っておくと便利なこと
エージェントの個性を更新する方法。メインボットファイルを開き、上部にあるシステムプロンプト変数を見つけ、変更し、ファイルを保存し、sudo systemctl restart your-bot-name でサービスを再起動します。新しい個性がすぐに有効になります。
ボットが実行中かどうかを確認する方法。ターミナルで sudo systemctl status your-bot-name を実行します。「active (running)」と表示されていれば動作しています。「failed」と表示されている場合は、ログを確認してください。
ログを読む方法。journalctl -u your-bot-name -n 50 を実行すると、最後の 50 行が表示されます。ここで、何かが壊れた場合のエラーメッセージを見つけることができます。
新しいスキルを追加する方法。プロジェクトフォルダで Claude Code を開き、やりたいことを説明します:「ボットに X 機能を追加してください。」Claude Code は既存のコードを読み取り、新しい機能をクリーンに追加し、再起動が必要かどうかを通知します。
すべてのエージェントが抱えるメモリの問題
これは人々が直面する最も一般的な問題です。エージェントは、セッション間、長時間のタスク中、あまりにも多くのメッセージの後でコンテキストを失い、間違いを犯したり、すでに行った作業を繰り返したりし始めます。
これが発生するには 3 つの方法があります。
長時間のタスクは、最終的に Claude のコンテキスト制限を超え、エージェントは会話の最初の部分(元の目標、すでに行われた決定、設定した制約)を失い始めます。
セッションを閉じて新しいセッションを開くと、エージェントはゼロから始まります。
タスクの途中でエージェントが中断された場合、どこで止まったかを知る方法がありません。
これを修正できる 4 つの方法:エージェントに、主要なステップごとに進捗メモを書くように指示します(何が行われたか、何が決定されたか、まだ何が起こる必要があるか)。そのメモを次のセッションの開始時に貼り付けて、完全なコンテキストを復元します。
10 ~ 15 メッセージごとに、エージェントに現在の状況を要約するように依頼します。これにより、コンテキストがあふれる前に圧縮することを強制します。
会話が長くなりすぎる前に、エージェントにすべてを要約に圧縮して、そこから続行するように依頼します。スレッドはそのまま維持されます。
エージェントが常に必要とする重要な事実を、ボットコードのシステムプロンプトに直接追加します。Claude はすべての会話の開始時にこれを読み取るため、どれだけ長くなっても、その情報は常にコンテキスト内にあります。
チェックポイントプロンプト
1続行する前に、簡単なチェックポイントを書いてください:21. これまでに何を完了しましたか?32. このセッションでの重要な決定や発見は何ですか?43. まだ行う必要があることは何ですか?54. 新しいセッションでこのタスクを続行するには、どのようなコンテキストが必要ですか?67200 語以内に収めてください。
メモリファイルプロンプト
1各主要ステップを完了した後、次の形式でメモリノートを書いてください:23完了したステップ:[何が行われたか]4重要な決定:[行われた選択とその理由]5現在の状態:[タスクが現在どこにあるか]6次のステップ:[次に何が起こるべきか]78このノートは、コンテキストを失うことなく新しいセッションでタスクを再開するために使用されます。
コンテキスト復元プロンプト
1以前のセッションからタスクを再開します。以下がコンテキストです:23[ここにメモリノートを貼り付けてください]45これに基づいて:61. 現在の状況についての理解を確認してください72. 次のステップを特定してください83. 続行するために必要な質問をしてください910すでに完了した作業を繰り返さないでください。
ローリングサマリープロンプト
1会話が長くなっています。重要なすべてを要約に圧縮してください:231. 元の目標42. 行われたことと見つかったこと53. 行われた重要な決定64. まだ起こる必要があること78要約を書いた後、そこから続行してください。この要約を新しい開始点として扱ってください。
これで、エージェントとは何か、何ができるか、そして自分で構築する方法がわかりました。お役に立てれば幸いです。
AI で起こっているすべての最新情報を入手したい場合は、X でフォローしてください。





