誰もが AI エージェントについて話しています。しかし、エージェントとは実際何なのかと尋ねると、ほとんどの人は「自律的に動作する AI」といった曖昧な答えしか返ってきません。
実際のところ、その答えよりももっと有益な見方があります。エージェントはカテゴリーではありません。それはスペクトラム(段階的な連続体)なのです。
このガイドでは、さまざまな AI ツールがそのスペクトラム上のどこに位置するのか、基本的な LLM とのやり取りと真のエージェント的ワークフローを分けるものは何か、そして、自分でコードを書かずに Claude Code を使って独自のエージェントを構築し、Telegram に接続する方法を説明します。
本題に入る前に、X で私をフォローし、私が新しく作成した Telegram チャンネルに参加してください。そこでは毎日 AI に関するコンテンツを投稿しています。どちらも無料です。
X - https://x.com/AnatoliKopadze
Telegram - https://t.me/kopadzemp
何がものをエージェントにするのか
Claude に「今日は何を投稿すべき?」と尋ねるのはエージェントではありません。それはチャットです。
Claude に「現在 AI で話題になっているトピックを 3 つ見つけて、その中から最もエンゲージメントが見込めるものを選び、私のスタイルで下書きを作成し、ファイルに保存して」と指示し、あなたが何も触らずにそれをすべて実行させる、それがエージェントです。
違いはモデルではありません。その周りの構造です。
エージェントには、通常のチャットにはない 3 つの要素があります。自ら呼び出すことができるツール(検索、ファイルシステム、コード実行、外部 API)。単一のセッション内だけでなく、タスク間で持続するメモリ。そして、1 つの応答を生成するまでではなく、タスクが完了するまで実行し続けるループです。
これら 3 つの要素を追加すればするほど、あなたの関与は減っていきます。それが基本理念です。
スペクトラム:チャットからエージェントへ
一方の端には基本的なチャットがあります。あなたが質問し、Claude が答え、セッションが終了します。ツールはなく、継続的な目標もなく、世界に働きかける能力もありません。
一段階上:ツールが有効化された Claude。Claude が答える前にウェブを検索したり、添付ファイルを読んだり、画像を生成したりする場合、それはすでにわずかにエージェント的です。あなたはそれらの手順を一つ一つ指示したわけではなく、Claude が自らそれが必要だと判断したのです。
さらに上:マルチステップのワークフロー。あなたが目標を与えると、Claude がそれをステップに分解し、各ステップを実行し、結果を確認し、完成したアウトプットを提供します。あなたはステップ間に関与しません。
最上位:完全自律型エージェント。エージェントはスケジュールに従って動作し、入力を監視し、外部サービスを呼び出し、人間のループなしで複雑なタスクを完了します。あなたは目標を一度設定し、アウトプットを確認するだけです。
最下位と最上位の違いは、異なるモデルではありません。モデルを取り巻くもの、つまり、呼び出せるツール、コンテキストを保持するメモリ、そしてタスクが完了するまで実行し続けるループなのです。
今日構築できるエージェントの種類
今日のエージェントが実際どのようなものかをご理解いただくために、以下にいくつか例をまとめました。これらは限界ではありません。あなたの特定の状況に合わせて、どんなものでも構築できます。
リサーチエージェント: トピックに関する情報を収集し、複数のソースを読み、重要なものを抽出し、構造化されたサマリーを提供します。質問を与えると、手動で何時間もかけてまとめるような回答を返してくれます。
ライティングエージェント: あなたが定義したシステムに従ってコンテンツを執筆します。トーン、フォーマット、オーディエンス、トピックを与えてください。すべての文章を管理することなく、下書き、書き直し、編集を処理します。
コードエージェント: コードを書き、実行し、エラーを読み、修正し、そして続行します。コードが何をすべきかを記述するだけで、エージェントが実装とデバッグのループを処理します。
ビジネスエージェント: 反復的なビジネスタスク(メールの下書き、顧客リクエストの処理、リードの選別、レポートの生成)を処理します。ルールを定義すれば、自動操縦で動作します。
パーソナルエージェント: スケジュール管理、タスクの整理、ブリーフィングの準備、そして毎日手動で行っている計画作業を処理します。
最初のエージェントを構築する - ここから始めましょう
Claude Code を使用して、リモートサーバー上で動作し、Claude を頭脳として使用する Telegram ボットを構築します。Claude Code がすべてのコードを書いてくれるので、あなたはプレーンな英語で何をしたいかを説明するだけです。セットアップが完了すると、ボットとのすべての通信は Telegram を介して直接行われます。
セットアップ全体には約 10 ~ 20 分かかります。コーディングの知識は必要ありません。
システムプロンプトテンプレート - プロンプト 2 に貼り付け
以下のセットアップからプロンプト 2 を実行するときは、どのような種類のエージェントが必要かを記述する必要があります。以下は既成のテンプレートです。該当するものをコピーし、「The agent should be:」と書かれているプロンプト 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ボットは、いつ検索するか、いつメモリから答えるかを自ら決定する必要があります。.env ファイルテンプレートに TAVILY_API_KEY を追加してください。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 と Telegram でフォローしてください。
X - https://x.com/AnatoliKopadze
Telegram - https://t.me/kopadzemp





