ソフトウェア工場を構築する:コーディングエージェントのためのルールとハーネス

·1 min read·Translated

コーディングはもはや遅いステップではなくなった。次に有用な動きは、エージェントをおしゃべりなワンショットコーダーとして扱うのをやめ、ソフトウェア工場を構築し始めることだ:明確なトリガー、スキャフォールド、決定論的チェック、そしてアーキテクチャと判断に対する人間の所有権を持つ、協調的で反復可能なエージェントループ。

これはBeyond Codingの最新トークとDavid Ondrejから生まれている実践的なパターンだ。純粋なボトルネック分析とは異なる強調点がある。ボトルネックはすでにレビュー、信頼、検証に移っている。今の問いは、エージェントがコードベースを劣化させずに本番システムで有用であり続けるよう工場をどう構造化するかだ。

ソフトウェア工場とは実際何か

David Ondrejはそれを手動プロンプトの増加ではなく、エージェントループの集合として位置づけている。各ループには:

  • トリガー(スケジュール、webhook、製品イベント、エラー、顧客フィードバック)、
  • 適切なモデル、スキル、コンテキスト、ツールを持つ有界タスク、
  • 何らかのチェックまたはフォローアップ。

工場は製品作業、セキュリティ、データベースの健全性、請求、サポートにわたる多くのそうしたループだ。人間は優先順位付け、センス、戦略、高リスクの承認に責任を持ち続ける。オペレーターはもはや手作業で毎セッションを始めるボトルネックではない。

参照:Stop coding, build Software Factories instead(および手動プロンプトからループへの移行に関する関連議論)。

シニア実践者からの具体的なルール

まずスキャフォールド;メインエージェントをファイルから遠ざける

Carlos Kelkboom(リードアーキテクト、Beyond Coding)は明確だ:エージェントは反復的な変更が苦手で、ワンショット実行が得意。彼の実践は、実装エージェントが動く前に手動でディレクトリ、キーファイル、関数や型のシグネチャ、コメント、フォルダ境界を作成することだ。主要な会話エージェントは「オープン」モードのまま——議論し、教え、相互理解を築く——が、決してファイルに触れない。自信が高いときだけ、狭いまたは大きなワンショットタスクのために閉じたワーカーを起動する。

彼はグラフスタイルのハーネス(Markdownノード、リンクによる段階的開示、コミットハッシュ、短い要約)を使い、コンテキストを毎プロンプトにダンプするのではなくオンデマンドで取得する。並行実験はgit worktreesで動き、最良の実装がマージされ、残りは捨てられる。

最も重要なルール:理解できないコードは捨てろ、テストを通っても。理解こそが後で維持、デバッグ、拡張を可能にするものだ。

完全エピソード:Lead Architect Reveals His Rules for Coding Agents。

エージェントを凝った決定論的CI/CDにする

Kerim Satirli(HashiCorp / IBM)は本番インフラで同じシフトをしている。「ミスをするな」はただの丁寧な依頼であり、硬い線ではない。彼は純粋な非決定論から離れ、エージェントをより強化されたCI/CDパイプラインのように扱う:品質ツールを走らせ、計画を評価し、予期しない差分を表面化させ(例:変更を示し続けるTerraformプロバイダ)、検索で既知の問題とクロスチェックし、ホールドを推奨する。

ほとんどのTerraform applyは自動で走らせ、人間が永久のブロッカーにならないようにする。リスクの高い変更は逃げ道を残す。仕様(GitHub Spec Kitスタイル)、BLUF(結論先行)要約でドキュメントノイズを削減し、個人化された工場制約が希望に取って代わる。彼が知るほぼすべてのエンジニアがすでに自分の工場を構築または大幅にカスタマイズしている。

完全エピソード:How Senior Engineers Use Coding Agents On Prod Infrastructure。

月曜日に何をするか

  1. 反復的で明確に有界なループを一つ選び(プロバイダ更新、自リポジトリのセキュリティスキャン、フィードバック分類)、本物のトリガーと独立したチェックを与える。
  2. 構造と完了の定義を自分でスキャフォールドする。タスクが明確になるまで調整エージェントを読み取り専用に保つ。
  3. 終わりのない反復パッチより、ワンショットや大きな有界タスクを好む。worktreesで作業を隔離する。
  4. 安全性と反スロップを硬いゲートとして符号化(編集を拒否するフック、品質ツール、短命の資格情報、計画評価器)し、プロンプトの願い事にしない。
  5. 工場インターフェース——仕様、スキル、評価、コンテキストグラフ——を共有し、チーム全体が同じループを使えるようにする。

速くあり続けるチームは、夜間に最も多くの無人エージェントを走らせているチームではない。ボトルネックが移ったことに気づき、その後ハーネス、スキャフォールド、検証ループを構築してエージェントがコードベースを悪化させずに生産を続けられるようにしたチームだ。

出典:上記の2つの最近のBeyond Codingエピソード、およびDavid Ondrejのソフトウェア工場フレーミング。Hacker Newsの関連議論は、エージェント量増加下でのレビュー負荷とCI圧力を引き続き強調し、工場がより多くの生成ではなく決定論的チェックを必要とする理由を裏付けている。

Share