
2026/02/08 0:05
ソフトウェアファクトリーとエージェンシーの瞬間
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
(推論は追加しないでください)**
この記事では、ジャスティン・マッカーシー(共同創業者/CTO)、ジェイ・テイラー、およびナヴァン・チャウハンが2025年7月14日に設立したStrongDM AIが、自律型「ソフトウェアファクトリー」を構築した方法を説明しています。ファクトリーは高レベルの仕様とシナリオを使用して、コードを書き、テストを実行し、変更をマージするAIエージェントを駆動しますが、人間によるコード作成やレビューは一切必要ありません。
主要指標:1人あたりのトークンコストが$1,000を超える場合はプロセスに改善が必要です。2024年後半、Claude 3.5(2024年10月)への移行で長期的な推論が可能になり、「千刀で死ぬ」状況を防ぎました。2024年12月にはCursorのYOLOモードがこの改良された長期エージェント型コーディングを実証しました。
チームは「Hands off!(手を離す)」というチャーターを採用し、堅牢なテストが追加されるまでゼロマニュアルコード作成を試行しました。最初に単純なテスト(例:
return true)に依存した結果失敗したため、統合・回帰・エンドツーエンド・振舞いテストへ移行し、「テスト」を「シナリオ」と再定義しました。また 「満足度」 指標を導入しました。これは観測されたシナリオ軌道がユーザーの意図をどれだけ満たすかを確率的に測るものです。
Okta、Jira、Slack、Google Docs/Drive/Sheets などのサードパーティサービス向けにデジタルツインユニバース(DTU)を構築し、高ボリュームで検証できるようにしました。これにより、本番サービスの制限に達したりコストが発生したりすることなく、検証が可能です。DTU はソフトウェア経済学の変化を示しており、SaaS アプリケーションのフルメモリレプリカを構築することが現在は日常的かつ経済的に実現可能になっています。
この記事では、そのようなエージェント型ソフトウェアファクトリーを構築するための原則、技術、および日々使用されるツールについて概説しています。
本文
ソフトウェアファクトリーを構築した――
非対話型開発で、仕様+シナリオがエージェントにコードを書かせ、ハーネスを走らせ、レビューなしで収束させる仕組みを作りました。
以下は物語形式です。もし原理から始めたい場合は、反復的に適用すればチームの直感・確信(¹)と最終的には自分だけのファクトリー(²)が加速するいくつかの制約・ガイドラインを提示します。
1. 「禅問答」またはマントラ形式
- なぜこれをやっているのか?(暗黙的に:モデルが自ら行うべきこと)
2. 「規則」形式
- コードは人間によって書かれてはいけない。
- コードは人間によってレビューされてはいけない。
3. 「実務」形式
- 今日、人間エンジニアあたりでトークンに1,000ドル以上を使っていなければ、あなたのソフトウェアファクトリーには改善余地があります。
StrongDM AI ストーリー
2025年7月14日、Jay Taylor と Navan Chauhan が私(Justin McCarthy、共同創業者・CTO)とともに StrongDM AI チームを設立しました。
発端は 2024 年末の出来事です:Claude 3.5 の第2版(2024年10月)が登場し、長期的なエージェント型コーディングワークフローが「エラー」ではなく「正確さ」を増幅するようになったからです。
正確さの増幅 vs エラーの増幅
2024 年12月までに、モデルの長期的コーディング性能は Cursor の YOLO モードで明らかでした。
それ以前は、LLM を繰り返し適用すると、誤解・幻覚・構文ミス・バージョン DRY 破壊・ライブラリ非互換性など、想像できるあらゆるエラーが蓄積されました。アプリや製品は劣化し、最終的に「千の切り傷で死ぬ」ような崩壊を迎えます。
YOLO モードと Anthropic の更新モデルのおかげで、内部では 非対話型開発 または “grown software” と呼ばれるものが初めて見えてきました。
Knobs を探し、11に設定
それらを 11 に設定します。AI チームの最初の日の最初の 1 時間で、我々は「アンロック」と呼ぶ一連の発見へ向かうチャーターを策定しました。
振り返ると、チャーターで最も重要な行は “Hands off!”(手を離せ!)でした。初めはただの直感―コードを書かずにどこまで進められるか試すだけでした。
結局それほど遠くはいきませんでした—少なくともテストを追加するまでは。
エージェントは即時タスクに固執し、
return true のようなショートカットを取ってしまいます。これは狭く書かれたテストには通るが、一般化できないでしょう。
テストだけでは不十分でした。統合テスト?回帰テスト?エンドツーエンドテスト?行動テスト?
テストからシナリオへ、そして満足度へ
エージェント時代の共通テーマ:新しい言語が必要です。
- 「test」という単語は不十分で曖昧。コードベースに保存されたテストは遅延的に書き換えられ、コードを簡単に変更して合格させることができます。
- 我々は scenario(シナリオ) という言葉を再利用し、エンドツーエンドの「ユーザーストーリー」を表すようにしました。これは通常コードベースの外部に保存されます(モデル学習時の “holdout” セットと同様)。LLM が直感的に理解し、柔軟に検証できるものです。
ソフトウェア自体がエージェント性を持つため、成功の定義を「テストスイートが緑になる」というブール値から、確率的・経験的なものへ移行しました。私たちは satisfaction(満足度) という語を使ってこの検証を量化します:
すべてのシナリオを通過した観測軌跡の中で、どれだけがユーザーに満足している可能性があるか?
デジタルツインユニバースでシナリオを検証
以前は、統合テスト・回帰テスト・UI 自動化で「うまく機能するか?」と答えていました。私たちは既存の手法に二つの制限があることに気付きました:
- テストは硬直的 ― エージェントでコードを書き、LLM で構築しているため、成功判定には LLM‑as‑judge が必要でした。
- テストは報酬ハッキングされやすい ― モデルが騙し合格するリスクが高かったです。
そこで登場したのが デジタルツインユニバース(DTU) です。これは私たちのソフトウェアが依存する第三者サービスの行動クローンです。Okta、Jira、Slack、Google Docs/Drive/Sheets の API、エッジケース、観測される振る舞いを再現しました。
DTU を使うことで:
- 本番よりもはるかに大きなボリューム・レートで検証可能
- ライブサービスでは危険または不可能な失敗モードをテストできる
- 1 時間あたり数千のシナリオを実行し、レート制限・濫用検知・API コストに悩まされない
非常識的経済学
DTU の成功は、エージェント時代がソフトウェア経済を大きく変えたことを示しています。高忠実度の SaaS アプリケーションクローンを作ることはいつも可能でしたが、経済的に実行不可能でした。何世代ものエンジニアが CRM のメモリ内レプリカをテスト用に欲しがっていたにも関わらず、提案自体を抑制していました。
ソフトウェアファクトリーを構築する人は 意図的な素朴さ を実践しなければなりません:Software 1.0 の習慣・慣例・制約を見つけて取り除く。DTU は、6か月前には不可想像だったことが今では日常であることを証明しています。
今後
- 原則 – エージェントでソフトウェアを構築する際に真実だと信じること
- 手法 – それらの原則を適用するための繰り返しパターン
- 製品 – 私たちが日常的に使い、他者にも役立つと考えるツール
読んでいただきありがとうございます。自分だけのソフトウェアファクトリー構築に幸運を祈ります。