• システム開発に関わる内容をざっくりと書いていく

プロンプト / コンテキスト / ハーネス / ループエンジニアをざっくり整理

AIコーディングエージェントや社内LLM活用が進むと、「プロンプトを書く人」だけでは足りなくなってくる。最近よく聞くのが、プロンプトエンジニアコンテキストエンジニアハーネスエンジニアループエンジニアという分け方。

名前は新しいけど、やっていることはシステム開発の延長線上にある。この記事では、それぞれのざっくりした概要と、現場で何をやる役なのかを整理する。


先に結論(4役の違い)

  • プロンプトエンジニア:モデルへの「言い方・指示」を設計する
  • コンテキストエンジニア:モデルに渡す「材料」を設計する
  • ハーネスエンジニア:モデルを動かす「外枠・道具・権限」を作る
  • ループエンジニア:うまくいくまで回す「反復の仕組み」を設計する

一人が全部やることも多い。役割名というより、考える観点の切り方だと思った方が実務では使いやすい。


1. プロンプトエンジニア

ざっくり概要

LLMへの指示文を設計・改善する役。システムプロンプト、ユーザー向けテンプレ、Few-shot例、出力フォーマット指定など、「どう聞くか / どう答えさせるか」を担当する。

昔ながらの「いい感じに聞いてみる」から一歩進めて、再現性のある指示に落とすのがポイント。

具体的な業務例

  • システムプロンプトの作成(役割、禁止事項、口調、出力形式)
  • 業務別テンプレ整備(レビュー依頼、仕様要約、テスト観点出しなど)
  • 良い例 / 悪い例を並べた Few-shot の調整
  • JSONやチェックリストなど、後工程で使いやすい出力形式の固定
  • プロンプト変更の前後比較(同じ入力で品質が上がったか確認)
  • チーム向けの「聞き方ガイド」作成

要するに、言葉でモデルの振る舞いを制御する設計者


2. コンテキストエンジニア

ざっくり概要

モデルに渡す情報の中身と優先順位を設計する役。「何を見せるか」「何を見せないか」「どの順で見せるか」が主戦場。

プロンプトがうまくいっても、渡しているコードや仕様がズレていれば答えは崩れる。逆に、渡す材料が良ければ短い指示でもかなり安定する。

具体的な業務例

  • リポジトリから関連ファイルを拾うルール設計(検索、パス指定、依存関係)
  • RAG / 社内ドキュメント検索の対象選定とチャンク分割
  • 会話履歴・メモリの残し方(要約、重要事項のみ保持など)
  • コンテキスト窓の予算配分(指示 / コード / ログ / ツール結果)
  • 余計な情報を削る(ノイズ除去、重複排除、古い仕様の除外)
  • 「このタスクではこの情報セット」みたいなパッケージ化

要するに、モデルの机の上に何を置くかを決める人


3. ハーネスエンジニア

ざっくり概要

モデル本体の外側、いわゆる「馬具(harness)」を作る役。ツール連携、権限、実行環境、ガードレール、観測性など、安全に・実務で使える形でモデルを走らせる仕組みを担当する。

Cursor の MCP、エージェントのシェル実行、社内API接続、承認フローあたりもこの領域。

具体的な業務例

  • ツール / MCP / API の接続設計(何ができて何ができないか)
  • 実行権限の設計(読取のみ、下書きのみ、本番書込禁止など)
  • サンドボックスや作業用ブランチ運用の整備
  • シークレット管理、監査ログ、失敗時の止まり方
  • 評価用ハーネス(自動でタスクを投げて結果を採点する仕組み)
  • 人間の承認ポイント設置(破壊的操作の前に止めるなど)

要するに、モデルを現場の道具にする基盤づくり


4. ループエンジニア

ざっくり概要

一発勝負で終わらせず、試す → 見る → 直すを回す設計をする役。エージェントの思考ループ、自動リトライ、テストフィードバック、人間レビューの挟み方などが対象。

「一度で正解」より「間違えても収束する」を作るイメージ。

具体的な業務例

  • Plan / Act / Observe のようなエージェントループ設計
  • 失敗時のリトライ条件(何時まで試すか、何を変えて再実行するか)
  • テスト・Lint・型チェック結果を次の入力に戻す流れ
  • 自己レビュー / クロスチェックのステップ追加
  • 人間レビューを挟むタイミング設計(全部自動にしない)
  • 評価セットを使った継続改善(週次で成功率を見るなど)

要するに、品質を一発に頼らず、回して上げる仕組みの設計者


どう使い分けるとわかりやすいか

たとえば「社内向けに、仕様書とコードを見ながら実装案を出すエージェント」を作る場合:

  • プロンプト:役割、出力フォーマット、やってはいけないことを書く
  • コンテキスト:仕様書・関連コード・過去決定事項の渡し方を決める
  • ハーネス:リポジトリ読取、Issue参照、PR下書き作成の権限を付ける
  • ループ:テスト失敗時に修正再実行、最終は人が Approve

こう見ると、単なる「プロンプト職人」だけではエージェント開発が回らない理由がわかりやすい。


現場向けのざっくりまとめ

  • プロンプト:指示の質
  • コンテキスト:入力材料の質
  • ハーネス:実行基盤の質
  • ループ:改善プロセスの質

AI活用が「チャットで聞く」段階から「業務に組み込む」段階に入ると、後ろの3つの比重が一気に上がる。まずは自分たちの作業をこの4つに当てはめてみると、何が足りないかが見えやすい。

次回以降は、各ロールごとに実務で使えるチェックリストや、Cursor / MCP 周りでの具体例も書いていく予定。