ハーネスの実装準備
前回の動画でClaude Code Harnessについて理解できたと思いますので、今回は実際にハーネスを作っていきます。
エディターはCursorでもClaude Desktopアプリでも、PowerShellのようなターミナルからCLIだけでClaude Codeを使っても構いません。また、CCMaxというCLIを分割できるサービスを利用していただいても大丈夫です。CCMaxの利用方法はClaude Code入門の講座の最初のセクションの最後に追加予定です。
プロジェクトを開いてClaude Codeを起動する
Cursorの左側の「Open Project」から始めていきましょう。適当なフォルダを選択して、右クリックで新規作成します。今回は「video-platform-claude-code-academy」というフォルダ名にします。
ターミナルを開いてclaudeと入力して立ち上げましょう。
Plannerエージェントの作成
今回用意する3つのエージェントはGitHubのリポジトリに用意してありますので、リソースのほうにリンクを貼っておきます。
まずPlannerから見ていきましょう。planner.mdファイルを開いてコピーし、Claude Codeにそのまま貼り付けて「このサブエージェントを作ってください」と指示します。
CCMaxはこのように並列でClaude Codeを稼働させるようなCLIですが、これはハーネス設計でほぼ自律的に開発しました。こういう製品がハーネス設計によって簡単に作れるというところで、かなり説得力のあるファイルだと思います。
Plannerエージェントの中身
短いプロンプトから詳細な製品仕様書を作成するプロダクトプランナーという位置づけです。モデルがSonnet指定になっていますが、Opusのほうが精度が高くなるのでOpusに変えてもいいと思います。
生成するのは製品の仕様書とスプリント計画です。スプリントというのは機能ごとにタスクが分割されているということです。そのタスクごとにGeneratorとEvaluatorが交互に起動して進めていくという形になります。
Generatorエージェントの作成
続いてGeneratorも作成していきます。同じようにコピーして貼り付けて「サブエージェントを作って」と指示を出します。まとめて作っても構いません。
もしうまくサブエージェントが作れない場合は、Claude Codeガイドというスキルを発動した状態でサブエージェントを作らせてください。
Generatorエージェントの中身
Plannerで作った仕様書とスプリント計画に基づいて機能を実装するフルスタック開発者です。動くものを作ることに集中して、スタブやTODOを残さないというサブエージェントです。
作業フローは以下の通りです。
- 指定されたスプリントを読み込む
- 契約の全条件を確認する
- 実装計画を立てて一つずつ実施する
- 自己テストを行う
- 完了報告を出力する
実装ルールとして、Mockで誤魔化さない、TODOを残さない、コンテキストウィンドウが埋まってきても機能を省略しないといったことが書かれています。
Designerエージェントの作成
元々のハーネス設計にはDesignerへの記述がありますが、今回は不要としておきます。CCMaxではデザイナーエージェントも組み込んでみましたが、そこまで効果がなかったので今回入れるかどうかは未定です。
ただし、デザイントークン用のMDファイルと参考用の画像を渡そうと思っている場合は、デザイン専門のエージェントを作成したほうがいいかClaude Codeに聞いてみました。
回答としては分けたほうがいいとのこと。コンテキストの効率化と関心の分離ということで、Planner → Generator → Designer → Evaluatorの順でやればいいということでした。
Designerエージェントの中身
デザイントークンと参考画像に基づいてUIを調整するデザインエージェントという位置づけです。Generatorが作ったコードの見た目を磨く係で、デザイントークンや参考画像を渡して、それに近づけるというエージェントになります。
Evaluatorエージェントの作成
最後にEvaluatorを追加していきます。
Evaluatorエージェントの中身
Playwright MCPでアプリを実操作してテストし、スプリント契約とデザイン基準で合否を判定する厳格なQAエバリュエーターです。クオリティを担保するための評価者という位置づけです。
まだPlaywright MCPサーバーは用意していないので、以降の動画で設定していきます。
基本姿勢として「懐疑的でなければならない」「おおむねいい、小さな問題だから大丈夫」というのは禁止、といった厳格な条件が書かれています。
テストの種類としては、単体テストや統合テストではなく、Playwright MCPを使ったエンドツーエンドテストを行ってくれます。デザインの評価も行います。
CLAUDE.mdでオーケストレーションを設定する
エージェントが作れましたので、先ほどの図解の通りの3つ(プラスアルファのDesigner)のエージェントができました。これで終わりでもいいのですが、うまくハーネス通りに動いてほしいので、オーケストレーション稼働するためのCLAUDE.mdファイルも作成しておきます。
以下のように指示出しします。
この4つのサブエージェントが正常にオーケストレーション稼働するようにCLAUDE.mdファイルにルールを記載しておいてください
CLAUDE.mdの中身
パイプラインとしてはPlanを立てて、Generatorが実装して、Designerに渡して、Evaluatorがフィードバックループを回すという流れになっています。エージェントの役割や業務ルールを記載することで、CLAUDE.mdファイルはClaude Codeを実行するたびに毎回チェックする内容になります。
必須ではないですが、書いておいたほうがオーケストレーションが確実に発動し、自律的に実装できるようになります。
まとめ
今回は最小限のハーネス設計ができました。これは別のプロジェクトでも使いまわす可能性がありますので、GitHubのリポジトリにプッシュしておきます。
続いての動画では、講座プラットフォームを実装していく前に、どういった技術スタック・アーキテクチャで作っていくのかを図解で説明し、その後に必要なMCPサーバーの設定をして仕様書を固めて自律的に実装させるという手順で進めていきます。