Unixツールのアプローチ、つまり複数の焦点を絞り、構成可能な関数ユニットを単独でも大きなパイプラインの一部としても使えるアプローチが、コーディングエージェント向けのツール作成においても最良の方法だとますます確信しています。 すべてをこなす大きな統一システムを作る際の問題は、人それぞれ独自のワークフローや開発方法を持っており、それを受け入れる画一のプロジェクトを作るのは、実際にはあまりうまく機能しない複雑さに陥るのが難しいことです。 つまり、エージェントメール用のツールが1つ、タスク管理用のツール(Steve Yeggeのビーズ)が1つ、タスク選択用のツール(bv)が1つ、過去履歴検索用のツールが1つ(cass)、多言語話のリンティングやバグ検出用のツール(ubs)、センシティブコマンド処理用のツール(slb)、tmuxやagentセッションの管理用(ntm)、メモリ用(csm)などがあります。 そして、そのうちの一つ、一部、あるいは全部使うことができます。そしてそれらは部分的に統合されていますが、常に任意です。つまり、SLBはエージェントメールを設定していれば使えますが、同時にスタンドアロンでも動作します。NTMはBVからの情報を表示できますが、強制されるわけではありません。 それらは小さなレゴブロックのようになり、好きなシステムを組み立てられるようになり、自分で欲しい機能を追加する小さな道具を簡単に作れます。 そしてAGENTS dot mdファイルは、ツールをエージェントの作業メモリに「インストール」し、使い方・いつ・なぜ使うかを説明して設定するオペレーティングシステムのようなものになります(奇妙なことに、今はマシンにツールを使わせることを心配しなければなりません!) つまり、すべてのツールをマシンにセットアップしておき、プロジェクトに応じて特定のツールだけを起動させ、使いたいツールの説明文だけを含めることができます。