Skip to main content

Command Palette

Search for a command to run...

AI の基礎

エージェント

ここまでで、AIモデルはツールを呼び出して機能を拡張できることを学びました。では、複数のツールを呼び出し、どのツールを使うかを判断し、結果から学ぶことまで任せたらどうなるでしょうか。そこで登場するのがエージェントです。

エージェントの本質は、ツールをループで実行することにあります。

次のように考えてみましょう。AIに何をすべきかを一つひとつ指示する代わりに、目標を与え、手順はAI自身に考えさせます。誰かに曲がるたびの道順を伝えるのではなく、目的地だけを伝えてGPSを使ってもらうようなものです。

エージェントの実際の動作

AI エージェントに「設定ページにダークモードの切り替えを追加して」と依頼したとします。エージェントはまず、コードベースを検索して設定ページを見つけます。関連するファイルを見つけると、現在の構造やスタイルの実装方法を理解するために内容を読み取ります。

次に興味深いことが起こります。エージェントは、この機能を実装するための独自のプランを立てます。状態変数の追加、新しい CSS クラスの作成、切り替えコンポーネントの実装、UI の更新を行うと判断するかもしれません。各ステップを実行しながら、作業を常に確認し、テストを実行して、発生したエラーを修正します。

このプロセス全体は一連のツール呼び出しを通じて行われます。エージェントは各アクションの結果に基づいて、次に何をするかを判断します。誰かが考えを声に出しているのを見るようなものですが、その場で実際に作業も進めている点が異なります。

通常、エージェントに委任しても安全なタスクはどれですか?

Select all that apply

エージェントが開発のあり方を変える

エージェントの真価は、開発者としての役割を変えることにあります。

「components フォルダーにはどのファイルがありますか?」と聞き、次に「Button コンポーネントを読めますか?」、さらに「ダークモードのバリアントを追加するよう更新してください」と続ける代わりに、最終目標を伝えるだけで、あとはエージェントに任せられます。

これは大きな変化です。あなたは作業者ではなくタスクマネージャーになるからです。複数のエージェントを、コードベースの異なる部分で同時に作業させることができます。あるエージェントが認証フローにテストを追加する間に、別のエージェントはドキュメントを更新し、3つ目のエージェントは、以前から整理したかった雑然としたユーティリティファイルをバックグラウンドでリファクタリングできます。

エージェントと作業する際の現実

エージェントは、既存のコードへのテスト追加、ドキュメントの更新、一貫したパターンに沿ったリファクタリング、明確なエラーメッセージがあるバグの修正など、目標が明確で確立されたパターンのあるタスクを得意とします。

一方で、システム間の相互作用を深く理解する必要がある複雑なデバッグ、ビジュアルデザインのモックアップをピクセル単位で完全に再現する作業、学習データに含まれていない新しいライブラリの使用などは、依然として苦手です。

エージェントは、明確な指示を必要とし、忘れやすく、監督も必要な、仕事の速いジュニア開発者のようなものだと考えてください。別の戦略が必要だと気付かないまま、うまくいかない同じアプローチを繰り返すループに陥ることがあります。

エージェントは、ツール呼び出しや反復処理を行うため、単純な質問をする場合よりも大幅に多くのトークンを使用します。適切な制約がなければ、意図しない変更まで積極的に加える可能性があります。そして重要なのは、コードが正しく動作し、基準を満たしていることを確認する責任は、依然としてあなたにあるということです。

エージェントによる無制限の変更を防ぐのに役立つガードレールはどれですか?

委任の技術

エージェントを効果的に活用するには、何をいつ委任するかを学ぶことが重要です。まずは小さく明確に定義されたタスクから始めて、自信をつけましょう。慣れてきたら、より大きな作業のまとまりを委任できますが、必ず途中にチェックポイントと検証の手順を設けてください。このコースの後半で、より実践的な例を紹介します。

目標は人の関与をなくすことではなく、達成できることを増幅することです。あなたは設計者兼確認者となり、エージェントが実装の詳細を担当します。

今後に向けて

トークン、コンテキスト、ツール、エージェントまで、AIモデルの仕組みの基礎を見てきました。次のレッスンでは、これらの概念をCherri Codeで活用して実際のソフトウェアを作るための、実践的な例を紹介します。

より良い結果を得るプロンプトの構成パターン、コンテキストの上限に達することなく長い会話を管理する方法、エージェントに効果的に作業を委任する方法、適切な検証ワークフローの構築、そして問題が起きたときのデバッグを学びます。

AIを扱うスキルは、練習を重ねることで向上します。これらの基礎レッスンで身につけたメンタルモデルは、特定のアプローチがほかよりも優れている理由を理解する助けとなり、AIの支援を受けたソフトウェア開発をより効果的にします。

この章は完了しました