Go back

自分のSkillsは「ループ」になっていなかった、という話

Posted on:

Claude CodeでSkillをいくつか作って、日々の作業を任せている。読んで、書いて、答えを出す。仕組みとしては動いている。

ただ、動かす瞬間は結局いつも自分だ。ターミナルを開いて、コマンドを自分の指で打っている。

その状態にしっくりこない名前がついているのを、つい最近知った。**ループエンジニアリング(loop engineering)**というらしい。


「プロンプターをやめろ」が1週間でバズった話

2026年6月、Peter Steinberger、AnthropicでClaude Codeを率いるBoris Cherny、GoogleのAddy Osmaniがほぼ同時に同じことを言い始めた。

もうエージェントに逐一プロンプトを打つ人をやめて、代わりに指示を出し続けるシステムを設計しろ。

1週間でこの主張が広まり、「ループエンジニアリング」という名前がついた。人間はチャット画面で毎回頑張るのをやめて、代わりにスケジュールや検証の仕組みの上に立て、という話だ。

位置づけとしては、ハーネス工学の一段上の階らしい。ハーネス工学が「1回のエージェント実行に何の道具を持たせ、何を完了とみなすか」を武装する話だとすると、ループエンジニアリングは「タイマーで回り、自分でヘルパーを生み、成果物を検証し、やったことを記憶し、次に何をするか決める」外側の仕組みそのものを指す。

ハーネス(道具立て)はあっても、ループ(それを回す仕組み)がない。 多くの人がいま置かれているのは、たぶんこの状態だと思う。自分もそうだった。


ループには4種類ある

調べていくと、ループは4種類に分類されるらしい。Claude Codeの機能名で言うと、こう対応する。

  • ターン型: プロンプトを打つたびに1回動く。都度の編集やテストがこれ
  • ゴール型/goal): 達成条件を決めて、満たすまで反復させる。「Lighthouseスコアを90以上にして、5回試してダメなら止めて」のような使い方
  • 時間型/loop /schedule): スケジュールをトリガーにする。「5分ごとにPRを見てレビューコメントに対応してCIを直して」
  • プロアクティブ型: 人間の監視なしに、イベントやスケジュールで自律的に動く。バグの仕分けや依存関係の更新のような、定型化された繰り返し作業向け

自分が普段使っているSkillの多くは、ふたを開けるとターン型のままだった。「自分がコマンドを打つ」というトリガーを、時間やイベントに置き換えられていないだけで、実はもう1段上に進める余地がある。


ループを作る前に、4つの条件がある

ここがいちばん刺さった話だった。なんでもかんでもループ化すればいいわけではないらしい。着手前にこの4つを確認しろ、と言う。

  • 週1回以上、繰り返し発生するタスクか
  • テスト・型チェック・リンターなどで、結果を自動検証できるか
  • ループはコンテキストの再読み込みや再試行を繰り返すぶんトークンを食う。その予算を許容できるか
  • エージェントがログや実行環境など、シニアエンジニア相当の道具を持っているか

4つとも満たすタスクは、実はそう多くない。逆に言えば、この4条件をクリアしたものだけをループへ昇格させるという選別の視点が要る。すべてを自動化しようとせず、条件を満たすものから手をつける。ここを飛ばしていきなり全部ループ化しようとすると、たいてい破綻する。


AIは自分の宿題を自己採点できない

もう一つ、地味に効いた話がある。コードを書いたAIは、自分の書いたコードのチェック役に向かない。 自分の判断に甘くなるからだ。

ループエンジニアリングでは、これを「メイカーとチェッカーの分離」と呼ぶ。作る役と確認する役を、別のモデルか別のエージェントインスタンスに分ける。同じ会話の中で役割を切り替えるだけでは足りず、視点そのものを切り離す必要がある、という話だ。

人間のチームでコードレビュアーを著者と分けるのと、発想は同じだ。AIだからといってこの原則が消えるわけではない。


ループの代償も4つある

いいことばかりではない。ループには4つの代償がある、とも言われている。

  • 検証負債: 自動検証の網を通り抜けた不具合が積み上がる
  • 理解負債(認知の放棄): 出力が増えるほど、人間がその中身を追えなくなり、やがて意見を持つのをやめて受け入れるだけになる
  • トークン暴走: 想定より頻繁に、あるいは想定より広い範囲でループが回り、コストが膨らむ
  • 静かな失敗: 完了条件が曖昧なまま、エージェントが「できました」と自己申告して、中途半端な状態でループが終わり続ける

最後の「静かな失敗」には名前までついていて、ラルフ・ウィガム・ループと呼ぶらしい。完了のふりをして実は何も終わっていない、あの感じそのものだ。

対策はシンプルで、客観的なゲート(テストの合否やビルドの成否)を置くことに尽きる。「できました」というAIの自己申告を、そのまま信じないことだ。


明日からできること

ここまで整理して、次にやることが2つに絞れた。

  • 手動で回している定型作業の中から、上の4条件を満たすものを1つ選び、/schedule/loopで時間トリガーに置き換える
  • 生成と検証を、同じセッション内で済ませず、別のモデルかセッションに分離する

ハーネスを整えるところまでは、多くの人がもうできている。次に必要なのは、それを誰が起動するかという問いへの答えだ。自分の指で毎回起動している限り、まだプロンプターのままなのだと思う。