AIエージェントとの協業を深化させる「skills」:Matt Pocock氏が提唱する「真のエンジニアリング」アプローチ
AIエージェントとの協業を深化させる「skills」:Matt Pocock氏が提唱する「真のエンジニアリング」アプローチ AIエージェントを用いた開発において、「期待値との乖離」「アウトプットの不安定さ」といった課題に直面する開発者は少なくありません。その原因は、AI側の性能だけでなく、人間側の協業アプローチにも潜んでいる可能性があります。世界的なTypeScriptエキスパートであるMatt Pocock氏が提唱するオープンソースプロジェクト「skills」は、AIエージェントとの協業を「雰囲気コーディング」から「リアルなエンジニアリング」へと昇華させるための、画期的なフレームワークです。 本稿では、「skills」がいかにAIを活用した開発の未来を変え得るのか、その核心に迫ります。AIの能力を最大限に引き出し、開発プロセスを飛躍的に向上させるための具体的な手法と、その導入メリットをTechTrend Watchの視点から解説します。 AI時代の「問いの質」の重要性:なぜ今「skills」が求められるのか 今日のテクノロジー業界では、「AI」「ChatGPT」「エンジニア」が常にホットなキーワードとして注目されています。しかしその裏側では、「AIを使いこなせない」「期待外れ」といった声も後を絶ちません。これは結局のところ、人間側がAIを「どのように活用するか」「何を問うか」という、根本的なアプローチを確立しきれていないことに起因します。AIは万能な魔法使いではなく、そのアウトプットの質は、私たちが与える「インプット」と「コンテキスト」に厳密に依存するからです。 Matt Pocock氏が指摘するように、多くの開発者は無意識のうちに「雰囲気コーディング」、つまりAIに漠然とした指示を与え、期待通りの結果が得られないことに不満を抱く傾向があります。しかし、AIとの協業においても、人間同士の開発と同様に**「すり合わせ」と「共通認識の構築」**が不可欠です。 多くの開発者がAIエージェントに「完璧な答え」を期待しすぎている現状がある。しかし、AIはあくまでツールであり、そのアウトプットの質は「問いの質」に直接依存する。この「skills」が提供するのは、エージェントとの対話を通じて問題の本質を掘り下げ、共通認識を構築する「エンジニアリング的思考」をAIに落とし込むフレームワークである。単なるプロンプトエンジニアリングの域を超え、システム設計の初期段階からAIを巻き込むための、戦略的なコミュニケーション手法だとテックウォッチは断言する。これは、AIを活用した開発の「OS」を再定義する試みだ。従来のAIツールが「個別の機能」を提供していたのに対し、「skills」はAIとの「協業プロセス」そのものを最適化する。この視点の転換こそが、まさに”Real Engineers”に求められているものである。 「skills」の核となる二大機能:AIの「迷走」を断つ 「skills」は、AIエージェントが陥りやすい二つの典型的な失敗モードを解決するために構築されています。 1. 意図の不一致を解消するグリルセッション:/grill-me と /grill-with-docs AIが要求通りの動作をしない――これはソフトウェア開発における最も一般的な失敗モードである「認識のズレ」そのものです。『達人プログラマー』のDavid Thomas & Andrew Huntが指摘するように、「誰も自分が何を求めているか正確には知らない」という状況は、AIを相手にする際にも同様に発生します。 「skills」が提供する解決策は、AIに徹底的に質問させる「グリルセッション」です。具体的には以下のスキルを使用します。 **/grill-me**: コード以外の一般的な用途で、AIに詳細な質問をさせて、問題を深掘りします。 **/grill-with-docs**: /grill-me の機能に加え、後述する共有言語(Shared Language)の構築を支援します。 これらのスキルは、開発を始める前にAIと綿密な認識合わせを行うためのものです。人間同士の開発においても「要件定義のすり合わせ」が極めて重要であるのと同様に、AIとの協業においてもこのプロセスを省略すべきではありません。むしろ、AIが多角的に質問を投げかけることで、私たち人間側の思考も深まるという副次的な効果も期待できます。 2. 共有言語によるAIの冗長性制御 「AIの出力が回りくどく、結局何が言いたいのか分かりにくい」という声もよく聞かれます。プロジェクトの初期段階では、開発者とドメインエキスパートが異なる言語を話しているのと同様に、AIもプロジェクト固有の専門用語やコンテキストを理解しきれていないことが多いのです。 「skills」の解決策は「共有言語(Shared Language)」の構築です。具体的には、プロジェクトの専門用語、概念、略語などを定義した CONTEXT.md ファイルを作成します。これにより、AIはプロジェクト特有のジャーゴンを正確に理解し、無駄な説明を省き、簡潔で的確な出力を提供できるようになります。 共有言語の具体例(mattpocock/course-video-managerより) BEFORE: “There’s a problem when a lesson inside a section of a course is made ‘real’ (i.e. given a spot in the file system)” AFTER: “There’s a problem with the materialization cascade” この共有言語の構築は /grill-with-docs スキルに組み込まれており、グリルセッションを通じてAIと共に共有言語を洗練させていくことができます。エリック・エヴァンスの『ドメイン駆動設計』で語られる「ユビキタス言語」の概念を、AIとの協業に応用した発想は非常に示唆に富んでいます。一度この強力な機能を体験すれば、その効果に驚くことでしょう。 ...