Skip to main content

Command Palette

Search for a command to run...

コーディングエージェント

エージェントとの協働

現在、開発者はエージェントを使って_大量の_コードを書いています。すべての行を手で入力する代わりに、エージェントに指示してコードを書かせています。

Foundationsコースでは、エージェントの基本的な挙動を学びました。強力なツールを与え、ループ内で自律的に実行させるというものです。このコースでは、ソフトウェア開発でコーディングエージェントを効果的に活用するための戦略を取り上げます。

エージェントハーネスとは?

Cherri Codeは、コーディングエージェントを内蔵したAIエディターです。エージェントは「ハーネス」と呼ばれる環境内で動作し、次の3つで構成されています。

  1. 指示:挙動を導くシステムプロンプトとルール
  2. ツール:ファイル編集、コードベース検索、ターミナルでの実行など
  3. モデル:タスクに応じて選択するエージェントモデル

コーディングエージェントは、与えられた目標に基づいてタスクを遂行します。ハーネスごとに、調整方法や使用するモデルに応じて挙動が少しずつ異なります。

シェルコマンドをより頻繁に呼び出すようトレーニングされたモデルもあれば、より明示的な指示を必要とするモデルもあります。Cherri Codeでは、すべてのフロンティアモデルをサポートし、利用可能なツールも含めて、ハーネスを可能な限り最適化することを目指しています。

効果的なプロンプトを書く

エージェントを活用するうえで、最初の入口となるのはエージェントに渡すプロンプトです。次の 2 つのアプローチを比べてみましょう。

Agent example: 曖昧なプロンプト
ユーザー設定ページを追加

エージェントは、必要なレイアウト、コンポーネント、スタイリングの方法など、すべてを推測しなければなりません。これでうまくいくこともありますが、多くの場合は意図をより具体的に伝える必要があります。

これを、コードベース内の既存パターンを参照する、より詳細なプロンプトと比べてみましょう。

Agent example: 制約のあるプロンプト
ユーザー設定ページを追加してください。
レイアウトパターンについては、Reactsrc/app/profile/page.tsx にある既存のプロフィールページを確認してください。Reactsrc/components/ui/Form.tsx と同じフォームコンポーネントを使用してください。設定には以下を含めます。
•表示名(テキスト入力)
•メール通知(トグル)
•テーマ設定(ドロップダウン: light、dark、system)
既存の useUserPreferences フックを使用して設定を保存してください。TypeScriptsrc/app/api/user/profile/route.ts と同じ API ルートのパターンに従ってください。

2 つ目のプロンプトの方がはるかに優れています。既存のファイルやコンポーネント、明確なスコープといった、コードベースに基づく具体的な指示をエージェントに与えているためです。エージェントは新しいパターンを考え出すのではなく、既存のパターンに従います。

新しい機能を作成する方法や、複数のファイルにまたがる大規模な変更を計画する方法を学ぶ際に、これについてさらに説明します。

エージェントから最良の結果を得られるアプローチはどれですか?

コンテキストを管理する

エージェントと作業を進めると、メッセージ、ツール呼び出し、ファイルの内容などのコンテキストが会話に蓄積されます。このコンテキストはエージェントの作業用メモリであり、容量には限りがあります。

エージェントが使用しているコンテキストの量に注意してください。新しいタスクに切り替えるときや、エージェントがミスをし始めたと感じたときは、新しい会話を開始してください。

同じ機能に引き続き取り組んでいて、エージェントが以前のメッセージから有用なコンテキストを得ている場合は、会話を続ける価値があります。ただし、エージェントが堂々巡りを続ける場合は、機能の途中であっても新しい会話を始めてください。古い会話を参照すると、エージェントはチャットの記録を読めます。

Agent example: 過去の会話を参照
Red auth refactor の認証リファクタリングを続けてください。JWT の有効期限処理に関するレビューのフィードバックには対応済みです。次に、使用時に古いトークンを無効化するよう、refresh token rotation を更新してください。

最新のモデルは、必要なコンテキストを見つける能力が大幅に向上しています。コードベース検索を使うと、エージェントは必要に応じて関連するファイルを取得できます。正確なファイルがわかっている場合はタグ付けしてください。それ以外の場合は、概要を伝えて、適切なファイルをエージェントに見つけさせてください。

よくある失敗パターン:スコープの肥大化

よくある失敗の一つは、計画を立てずに大きすぎる変更を依頼することです。エージェントが無関係な変更を加えたり、意図しないファイルを編集したり、作業の焦点を見失ったりすることがあります。

このような状況になったら、いったん止めて、タスクをより小さな単位に分割できないか検討してください。大規模な機能を計画している場合は、機能の作成で、堅実なプランや仕様の作成方法を説明します。プランを用意して最初の会話を始めたら、その後は小規模なフォローアップ会話で繰り返し進めるほうが、結果的に速いことがよくあります。

次のステップ

エージェントハーネスの仕組み、効果的なプロンプトの書き方、コンテキストの管理方法を学びました。次の章では、エージェントがコードベースを検索する方法と、作業中のコードやアーキテクチャの理解にエージェントがどう役立つかを詳しく見ていきます。

この章は完了しました