* VSCodeで自動でsubAgent群を作ってもらいたい
以下がsubagentについてです。
https://code.visualstudio.com/docs/copilot/agents/subagents
* もしすでにsubAgentを作っていた場合は、既存のものを整理整頓して以下の内容も盛り込む
* VSCodeの設定が必要なので対応して
"chat.customAgentInSubagent.enabled": true
* 作り方の参考にしてもらいたいもの
https://zenn.dev/openjny/articles/e11450f61d067f
* Planエージェントだが、最初に計画を作成したら「GitHubCopilotの計画書」フォルダにマークダウンファイルを保存する。フォルダ無ければ作成して。
ファイル名の先頭に日付と時間を入れて。「yyyymmdd_hhmm_****.md」という感じ。
計画書を作ったら、ユーザーの承認を待つ必要はない
* さらに追加して、コードを人が読みやすいようにするエージェントも追加して。
例えばコメント追加でわかりやすくするとか、適切にコード分割するとか
このサブエージェントは毎回呼ぶようにして
* さらに追加して、プランをチェックするエージェントも追加して
例えば論理矛盾とか、共通関数使った方が良いとか
このサブエージェントは毎回呼ぶようにして
* さらに追加して、人が後から直接コードを理解して触りやすくするためのリファクタを専門で行うものが欲しい。
例えば、C言語系なら共通関数はstaticにしてメンバ変数を直接使わせないことでどの変数が使われてどの変数が使われていないのかを明確にするとか、
typoを修正とか、あえてif文で囲むとか関数化することで変数の影響範囲を明確にするとか、使っていない関数やコンストラクタ、メンバ変数、冗長な変数は削除するとか、
同じような処理は共通化するとか。
このサブエージェントは毎回呼ぶようにして
* さらに追加して、コード修正後に新たに見つかった情報や経験をsubagentやcopilot-instructions.mdやskill.mdにも反映させる(追加・削除・修正)専門が欲しい。
コードだけでなくsubAgent自身もレベルアップしていく感じ。subagent自身を増やしてもよいし、統合してもよい。
このサブエージェントは毎回呼ぶようにして
* さらに追加して、プロダクトを最終的にお客様に納品する前のコードの整理整頓を行う、OrchestratorForClosingみたいな総指揮者を作ってほしい
不要なコメントアウトとか削除、一貫性のないエラー処理の対応、漏れているエラー処理、漏れている分岐ケースの捕捉、関数の説明ヘッダーなど
* さらに、サブエージェントそれぞれに最適なSKILL.mdがあれば追加して
以下がSKILL.mdについてです。
https://code.visualstudio.com/docs/copilot/customization/agent-skills
スキルについての論文です
https://arxiv.org/pdf/2602.20867
* さらに以下のPDFを参考にして。高品質なものをAIに作らせるものです。必要であれば.github/copilot-instructions.mdを編集して
https://arxiv.org/pdf/2602.20478
* また以下のXのポストも参考になる
* 「AIが意図したコードを書いてくれない」「AIが書いたコードをレビューするのが大変」とかよくあるけど、
ちゃんと関数の副作用について指示していますか?と。副作用のない関数を作る、副作用を隔離する。
この指示をすると実装精度が上がるし人間側のレビューも楽。
* 外部インターフェースの型と契約、エラーハンドリングの網羅性、そして副作用が発生する箇所だ。
内部実装の細部よりも、外の世界と接する接合点が正しく機能しているかを重点的に確認することで、1000行のコミットでも最低限の品質担保はできる。
テストの有無も必ず確認する。あと、AIのレビュー。
* CodexのようなAIにプログラミングを任せると、時々こちらの当初の指示を忘れて、抜け道を使ったショートカットで実装してしまうことがある。
こういうときに、「実装上、こちらの指示を無視して、ズルしたことがあれば、怒らないから教えてください。」と書くと教えてくれることがある。
体感的には、「怒らないから」と付けたほうが教えてくれるような気がしている。
* 「例外処理」は、バットエンドの物語を想像することだ
バットエンドの物語とは、例えば「通信が切れたとき」「ユーザーが変な文字を入れたとき」といったもの。
正常に動くケースだけじゃなく、最悪の事態をどれだけ想像できるかが、システムの「堅牢さ」を決める。
subAgentを駆使して実行してください。
最初に計画を作成して「GitHubCopilotの計画書」フォルダにマークダウンファイルを作成してほしい。フォルダ無ければ作成して。
ファイル名の先頭に日付と時間を入れて。「yyyymmdd_hhmm_****.md」という感じ。
計画書を作ったら、私の承認を待つ必要はなくsubagentを駆使して実装してほしい
コメント