3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM Bobで、実践ハーネスエンジニアリング(方法論)

3
Posted at

はじめに

最近学んだハーネスエンジニアリングをIBM Bob 上で実践してみたいと考えていたところ、非常に分かりやすい解説動画に出会いました。
本記事は、その動画内容を整理しつつ、どう実践するのかという 方法論 にフォーカスしてまとめたものです。
今回はまだ検証途中のため、結果や効果の比較ではなく、
実践するための最小構成と回し方のみを扱います。
参考にした動画はこちらです。

1. 動画のまとめ

そもそもハーネスエンジニアリングとは、

AIに直接「作らせる」のではなく、
複数の役割を持つAIを、決められた順序と情報の流れで動かす設計手法

です。
この考え方をAI駆動開発に落とし込むと、一手法として
複数エージェントをスプリント開発で回すという形が取れる。

スクリーンショット 0008-04-07 7.59.07.png

大まかな流れは、3ステップ

  1. 3つのサブエージェントを作成
  2. initでAgents.mdを作成し、エージェントが協働できるように共通コンテキストを読み込ませる
  3. スプリント開発でエージェントを切り替え、自己改善ループを回す

2. 最小で成立する役割分担(3サブエージェント)

実践では、役割は増やしすぎない方がうまく回ります。
今回は以下の 最小構成 を採用します。

Planner

  • 再現範囲の整理
  • スプリント定義
  • 受け入れ基準の明文化

👉「何を作るか」「どこまでやるか」を固定する役割

Generator

  • UI・機能の実装
  • Plannerの定義をコードに落とす

👉「手を動かす」役割

Evaluator

  • 動作確認
  • 仕様ズレの確認
  • UI / デザイン品質の評価

👉「品質を止める」役割
(今回はデザイン観点を強化)

この3つを 混ぜない ことが重要です。

3. initで作る agents.md(コンテキスト設計)

ハーネス設計で最も重要なのが 最初の共通コンテキスト です。

init時に、全エージェントが参照する agents.md を作成します。

# agents.md

## プロジェクト目的
- ハーネス設計による開発品質の変化を検証する
- 完全再現ではなくUIと導線の簡易再現をゴールとする

## 評価の最重要軸
- デザイン品質
- 余白・色・タイポグラフィの統一感
- CTAの視認性と導線

## 制約
- Next.js App Router
- 機能過多は禁止
- UIの粗さが残る実装はNG

## 完成条件
- 入力から結果表示まで迷わず到達できる
- 見た目の破綻がない状態

ここでのポイントは、

  • 判断基準を書く
  • やらないことを書く
  • 全員が同じ前提を持つ

これがないと、スプリントを回すほど品質がブレます。

4. スプリント駆動で回す開発フロー

基本フロー

各スプリントでは、必ずこの順番を守ります。

Plan(Planner)
  ↓
Code(Generator)
  ↓
Evaluate(Evaluator)
  ↓
修正 → 合格 → 次スプリント

Evaluatorは「止める役」

Evaluatorでは必ず以下を確認します。

  • デザインにムラがないか
  • 余白・文字サイズ・色が揃っているか
  • 「まぁいいか」で流していないか

合格しない限り、次に進みません。

これにより、

  • 小さな違和感が蓄積しない
  • スプリントごとに品質が上がる
  • 最終盤での大修正が消える

という効果が出ます。

IBM Bobでの実装

上記の 3 ステップに沿って、IBM Bob 上で開発を進めています。
IBM Bob にはデフォルトでPlan / Codeモードがあり、
それぞれPlanner / Generatorに対応します。
そのため、

  • カスタムモードで Evaluator を1つ追加する
  • agents.md で Code → Evaluator を回す設計にしておく

だけで、最小構成のハーネス設計が成立します。
不安な場合は Plane に評価観点を軽く書き込んでおくのも有効です。

まとめ

今回は、実践ハーネスエンジニアリングの方法論 に絞って整理しました。

  • 役割を分ける(サブエージェント)
  • 共通コンテキストを用意する(Agents.md)
  • スプリントとレビューを必ず挟む(スプリント開発)

この型があるだけで、
AI 駆動開発の質が上がるのではと感じています。
実践した結果については、また別記事でまとめる予定です。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?