ループを閉じる
/ˈkloʊzɪŋ ðə luːp/
Also known as: feedback loop, verification loop, self-validation
「ループを閉じる」とは何か?
「ループを閉じる」は、効果的なAIアシスト型コーディングを挫折した「バイベコーディング」から分ける基本的な原則です。これは、AIエージェントが自動化されたフィードバックを通じて自分の仕事を検証できるように開発ワークフローを設計することを意味します—コードのコンパイル、テストの実行、出力の確認、結果が正しくなるまで反復。
この概念は、Claudebotの作成者であるPeter Steinbergerによって人気になりました。彼はそれを「生産的なエージェント工学への大きな秘密」と呼んでいます。
ループを閉じることが重要な理由
AIはコーディングで優秀ですが、クリエイティブ執筆では苦労することがあります。違いは何ですか?コードは検証できます:
- コンパイル: コードはエラーなくビルドしますか?
- リンティング: スタイルとベストプラクティスに従いますか?
- テスト: ユニットと統合テストはパスしますか?
- 実行: 期待される出力を生成しますか?
エージェントがこれらのチェックを自分で実行できるとき、彼らは人間の介入なしに正しい解決策に向かって反復できます。フィードバックループなしで、エージェントは「ゴミ」を生成します—もっともらしく見えるが実際には機能しないコード。
ループを閉じる方法
CLI検証のための設計
エージェントがコマンドラインツールを通じて仕事を検証できるようにシステムを構築します:
# エージェントは自分の仕事を検証するためにこれらを実行できます
npm run lint # Check style
npm run test # Run tests
npm run build # Verify compilation
専用テストハーネスを作成
複雑な機能の場合、エージェント検証用にCLIツールを特別に構築します:
「Codexに『すべての同じコードパスを呼び出すCLIでデバッグのために構築します』と言うことで、Mac機能をデバッグしました。それは1時間調理して、レース条件を自分で修正しました。」— Peter Steinberger
ブラウザベースの検証を避ける
ウェブベースのテストループは遅く、脆いです。ヘッドレス、CLIベースの検証を優先します:
「ブラウザループは狂ったほど遅いです。速くループするものが必要です。」— Peter Steinberger
比較:ループ閉鎖あり対なし
| 側面 | ループ閉鎖済み | ループ開放 |
|---|---|---|
| エージェント自信 | 高い(検証済み) | 低い(推測) |
| 人間の介入 | 最小限 | 常に |
| コード品質 | テスト済み | 未知 |
| 反復速度 | 自律 | 手動 |
主要な引用
「それでAIはコーディングが得意で、執筆は中程度です—クリエイティブワークを検証する簡単な方法がないからです。しかし、コードはコンパイルでき、リント、実行、出力を検証できます。」
「正しい方法で設計すれば、完璧なループが得られます。」
関連資料
- AI Agents - 閉じたループから恩恵を受けるシステム
- RALPH Loop - ループ閉鎖に依存する技術
- Peter Steinberger - コンセプトの先駆者