youtube版(スライド付き) 関連リンク GitHub Copilot カスタムエージェントのための agents.md 作成ベストプラクティス GitHub Copilotの新しい「カスタムエージェント」機能をご存じでしょうか?これは、AIアシスタントに特定の役割や専門知識を与え、開発を効率化するものです。本記事は、このカスタムエージェントの設定ファイル「agents.md」の効果的な作り方を、新人エンジニアにも分かりやすく解説します。GitHubが2,500以上のリポジトリを分析して得た知見が基になっています。 agents.mdファイルは、リポジトリの.github/agents/に配置し、エージェントの役割、使用ツール(read, edit, shellなど)、プロジェクト構造、コードスタイルなどを定義します。これにより、バックエンド専門やフロントエンド専門といった、特化したエージェントチームを構築できます。 効果的なagents.mdには、以下の6つの要素が重要です。 コマンド: エージェントが実行する具体的なコマンドを明確に書きます。テスト: 使用するテストフレームワークやテストの実行方法を具体的に指定します。プロジェクト構造: ディレクトリ構成とその役割を記述し、エージェントがファイルを理解しやすくします。コードスタイル: 推奨されるコードの書き方と避けるべき書き方を、具体的な例で示します。Gitワークフロー: ブランチ命名規則やコミットメッセージのフォーマットなど、開発プロセスを定義します。境界線: エージェントが「必ずやること」「確認が必要なこと」「絶対にやってはいけないこと」を明確にし、意図しない挙動を防ぎます。 曖昧な指示や複雑すぎる設計は、エージェントのパフォーマンスを低下させます。最初は完璧を目指さず、「最小限の設定から始め、問題があればルールを追加していく」という段階的なアプローチが推奨されます。 カスタムエージェントの大きな利点は、複数の開発タスク(Issue)に適切なエージェントをアサインし、並行して効率的に作業を進められることです。エージェントが正しく作業するためには、Issueに必要な情報(背景、要件、受け入れ条件など)がしっかり記載されていることが不可欠です。Issue作成自体もエージェントに任せることで、必要な情報が漏れなくそろい、開発の精度と効率がさらに向上するでしょう。 AIオーケストレーションを上手に活用し、皆さんの開発ライフをより豊かなものにしてください。 引用元: https://zenn.dev/studypocket/articles/github-copilot-agents-md-best-practices Programmatic Tool Calling(PTC)の何が新しいのか? Anthropicが、対話型AI「Claude」の新しいAPI機能として「Programmatic Tool Calling」(PTC)を公開しました。これは、Claudeが外部のツールを使う方法を大きく進化させる技術です。新人エンジニアの皆さんも、これからのAIエージェント開発で役立つポイントなので、ぜひ知っておきましょう。 これまでのTool Use(ツール利用)では、Claudeがツールを一つ使うたびに「次はこれをやろう」と判断し、その結果を会話の履歴(これを「コンテキスト」と呼びます)に全て記録していました。ツールをたくさん使う複雑なタスクでは、このコンテキストがどんどん長くなり、「コンテキスト肥大化」という問題が起きていました。コンテキストが長くなると、情報処理のコストが増えるだけでなく、Claudeが重要な情報を見落としたり、判断を誤ったりする「context rot(コンテキスト腐敗)」と呼ばれる精度低下の問題も発生しやすかったのです。 PTCでは、この課題を根本的に解決します。Claudeは、複数のツールを呼び出す一連の処理をまとめたPythonコードを一度に生成します。このコードは、Anthropicが用意した特別な実行環境(「サンドボックス」と呼びます)の中で動きます。重要なのは、ツールが実行されたときの中間的なデータ(例えば、大量のデータ分析結果など)は、このサンドボックスの中にだけ保持され、Claudeのコンテキストには直接戻されない点です。Claudeが受け取るのは、サンドボックスでの処理が終わった後の「最終的な結果」だけになるため、コンテキストが肥大化するのを防げます。 実際に検証した結果、従来のTool Use方式と比較して、PTC...
Show More
Show Less