HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Superlite: Superpowers のより高速な代替手段

Superlite: A Faster Alternatie to Superpowers (contextfirst.blog)

133 pointsby iheatuchriswogu61 コメント

要約

Superlite は、AIエージェントによるソフトウェア開発プロセスを高速化するために開発されたClaude Codeプラグインです。従来の「Superpowers」ワークフローが人間による細かな承認プロセスや逐次実行に時間を要するのに対し、Superlite は仕様を一度承認すれば、タスクを並列化し、コスト効率の良いエージェントに割り当て、自動的にレビューと修正を行うことで、迅速な開発を実現します。

全文翻訳

Superlite: 仕様を与えれば、テスト済みの作業が戻ってくる

Field Notes

なぜ私は、4分ごとに許可を求めてこない、Claude Codeのための自律ビルドワークフローであるsuperliteを構築したのか:その仕組み、使い方、そしてベンチマークについて。

一度に一つずつ、それとも一度にすべて アニメーション。トップレーンでは、単一のエージェントが6つのブロックを一つずつ構築し、人間が待っており、ブロックごとに質問の吹き出しが表示され、時計が回っています。ボトムレーンでは、6つのエージェントが6つのブロックすべてを同時に構築し、半分以下の時間で大きなチェックマークが表示され、人間はコーヒーを一杯飲みます。 ? 一度に一つずつ 一度にすべて

私は夢を見ていました。仕様をエージェントに渡し、ラップトップを閉じ、サンドイッチを作り、完成してテストされ、コミットされた作業に戻ってくる、という夢です。

実際にはこうなりました。仕様を渡しました。サンドイッチを作りました。戻ってきました。エージェントは1つの段落を書いており、設計のセクション1を承認するかどうか、非常に丁寧に尋ねてきました。

承認しました。座りました。待ちました。

セクション2。承認?はい。セクション3。承認?はい。 仕様は?はい、明らかに、それは私があなたが書くのを見たばかりの計画です。そして、計画はどのように実行してほしいですか?できるだけ速く、お願いします、懇願します。

それから構築が始まりました。一つのタスク。次にそのタスクのレビュー。次にレビューの修正。次に修正の再レビュー。次に次のタスク。進捗ログが踏切の列車のようにスクロールしていくのを見ました:止めることも、通り過ぎることもできず、あと何両残っているのかもわかりません。

ターミナルをリフレッシュしました。まだタスク3です。メールに返信しました。まだタスク3です。手持ち無沙汰にならないように、2つ目のサンドイッチを作り始めました。タスク4、レビュー中。

サンドイッチはとても美味しかったです。ソフトウェアはまだ存在しませんでした。そして最悪だったのは時間ではありませんでした。それは私が離れられないことでした。離れるたびに、私が「はい」と入力するのを20分も待っていた質問に戻ってきました。

私は4分ごとに私を必要とする協力者を求めていたのではありません。私は請負業者を求めていました。これが仕様です、これが鍵です、終わったら電話してください。

そこで私はsuperliteを構築しました:ビルドを計画し、並列実行可能なタスクに分割し、それを実行できる最も安価なエージェントに渡し、それらの間の接合部をチェックし、結果をレビューするClaude Codeプラグインです。そして、あなたがサンドイッチで忙しかった間にそれが下したすべての決定の整然としたリストを残してくれます。

この記事では、その存在理由、仕組み、使い方を説明します。ベンチマークは、私が書いたから速いと言っているだけではないことを示すためにあります。

なぜ私がそれを構築したのか

まず、免責事項です。このプロジェクトが好きなので、怒りのメールは受け取りたくありません。superpowersをよく使います。これは、人間をあらゆるステップに近づける慎重で協調的なワークフローであり、その点では本当に優れています。Superliteは、その骨格を恥ずかしげもなく借用しています:プラグインレイアウト、セッション開始フック、ライフサイクルスキル。功績は功績として、それ以上です。

しかし、私がすでに何をしたいのか正確にわかっていたとき、時間のほとんどはワークフローが自分自身を待つことに費やされました。私はそれをプロファイルしました、あなたが疑わしい週末の後に銀行の明細書をチェックするような方法で。時間は5つの場所に費やされました:

  • 機能ごとに8〜12回の人間によるゲート。メッセージごとに1つの質問、設計はセクションごとに承認され、その後仕様、計画、計画実行方法の個別のレビュー。非常に徹底的です。それはまた、4時間の会議がスケジュールされる方法でもあります。
  • 厳密に逐次的な実行。1人の実装者、次に1人のレビューア、次に次のタスク。私の最初のベンチマークでは、それは21のディスパッチの単一ファイルキューでした、まるで1人のテラーと非常に長いランチ休憩のある銀行のようでした。
  • 各タスクの後のレビュー、再レビューのループ付き。約34分間のビルドのうち12分間。
  • フルテストスイート、複数のスキルによって再実行。気が変わった場合のため。
  • クリティカルパス上のOpusサブエージェント、Sonnetの約半分の速度でコードを書いています。 brilliantで思慮深く、全く急いでいません。

これらのどれも間違いではありません。それぞれが sensibleなセーフティネットです。それらを積み重ねると、すべてのステップを制御したい場合には完璧ですが、単に物事を構築したい場合には少しイライラします。

したがって、superliteはsuperpowersの競合相手ではありません。それは異なるジョブのために調整されています:速度での自律開発。各ステップを制御したい場合は、superpowersを使用してください。仕様を渡し、動作するコードに戻ってきたい場合は、superliteを使用してください。ただし、同じセッションで両方を有効にしないでください。それらはスキル名を共有し、両方とも起動時にコンテキストを注入し、後部座席で兄弟のように議論します。

仕組み

短いバージョン:1回の承認、並列処理のために書かれた計画、作業にマッチしたエージェント、そしてコードによって強制されるルール。なぜなら、エージェントはルールを読んでから好きなことをするからです。

flowchart LR
    A([あなたのリクエスト]) --> B[質問の1バッチ]
    B --> C[計画]
    C --> D[エージェントが並列で構築]
    D --> E[レビューと修正]
    E --> F([完了])

質問の1バッチ、1回の承認。 Superliteはまずリクエストのサイズを決定します。タイプミスは、タイプミスに関する設計ドキュメントなしで修正されます。既存のフローへの変更は、チャットで短い設計が行われます。新しいプロジェクトは、最大4つの質問の1バッチを受け取り、次に1つの設計・計画ドキュメントを受け取ります。あなたはそれを一度承認します。その後、破壊的、対外的な、またはセキュリティに関わるもの以外では停止しません。ランチ休憩中にmainにプッシュすることはありません。それ以外のすべてを行います。

誰が担当するかを選択できます。人間オーケストレーターの場合、予測されるスケジュールを含む計画全体が表示され、実行前に承認します。AIオーケストレーターの場合、あなたは全く必要ありません。これは、気分によって、自由であるか、わずかに侮辱的であるかのどちらかです。通常、質問されるすべての選択肢は、決定事項として記録されます:何を決めたか、なぜか、そして間違えた場合のコストはいくらか。戻ってきたとき、最初に疑うべき決定が何であるかを正確に知ることができます。

分割のために書かれた計画。計画はタスクグラフです。各タスクは、それが所有するファイル、それが消費および生成する正確なインターフェース、そしてそれがパスする必要のあるテストをリストします。ファイルを共有せず、互いに依存しないタスクは同時に実行されます。グラフがビルドの幅を決定します。現在のベンチマークでは、最大18のエージェントが同時に作業しており、これは小規模なスタートアップの規模にほぼ匹敵しますが、ピンポンテーブルは除きます。

作業にマッチしたエージェント。組織図:

  • Opusが調整します。計画とディスパッチを行い、コードに触れることは許可されません。基本的に管理職です。
  • Sonnetがほとんどのタスクを構築します。
  • Haikuは、クリティカルパス上にない、小さく完全に指定された「機械的な」タスクのみを構築します。インターンはよく定義されたものを担当します。
  • Sonnetがパッケージをレビューします。
  • 新しいOpusの最終レビューアは、実行ログから構築されたレビューパケットを読み、所見のみを返します。修正を許可されることは決してありません。ただ指摘するだけです。
  • 3つのティアの修正専用エージェントは、原因の理解度に応じてルーティングされたこれらの所見を受け取ります。

コードによってゲートされ、プロンプトによってではありません。これは苦労して学びました。あなたはプロンプトに「コーディネーターはコードを編集しない」と太字で、大文字で、感情を込めて書くことができます。コーディネーターはそれを読み、うなずき、コードを編集します。そのため、現在はフックがそれを強制しています。1つのフックは、コーディネーターがプロジェクトコードを編集することをブロックします。別のフックは、生のpytestまたはnpm testを実行するものをキャッチし、静かにバックグラウンド実行に変換するため、テストがそれをブロックすることはありません。別のフックは、名前でプロセスを終了させることを許可しません(そこには物語があり、それは詳細な調査にあります)。計画は、作業が開始される前にlint --stableに合格する必要があり、安定したタスクは合格した瞬間に送信されます。

すべての実行が測定されます。フックは各エージェントのトークン、コスト、時間を記録します。これは次の実行の予測と、キャップの70%で肩を叩くソフトバジェットにフィードされます。

使い方

Claude Code、git、Python 3.10以降(superlite自体のツール用。構築するプロジェクトは任意の言語で構いません)、およびbash(Windowsの場合はGit Bash)が必要です。

ソースはGitHubのiha2/superliteです。マーケットプレイスからインストールします:

/plugin marketplace add iha2/superlite
/plugin install superlite@superlite-dev

またはiha2/superliteをクローンして、1セッションだけローカルチェックアウトをロードします:

claude --plugin-dir <path-to-superlite>

動作を確認するには、新しいセッションを開き、「Let's make a react todo list」と送信します。正常にインストールされた場合、コードを書く前にブレインストーミングが始まります。これはエージェントワークフローの「hello world」であり、正直なところ、世界はもう一つのtodoリストを必要としていませんが、良いスモークテストです。

次に:

  1. 欲しいものを説明してください。1つの段落または仕様ファイルで十分です。40ページの要件ドキュメントは必要ありません。ただし、読みます。
  2. オーケストレーターを選択してください、尋ねられたときに:計画を確認するか、AIがすべてを行います。
  3. 実行させてください。プロジェクト内の.superlite/を自然ドキュメンタリーのように監視してください。progress.mdには決定事項とログがあり、test-summary.jsonには最新のテスト結果があり、metrics.jsonlにはエージェントごとの時間とコストがあります。

あなたが言うことがフローを形成します:

状況のように言う
新しいプロジェクト「この仕様から静的サイトジェネレーターを構築してください」
既存のコードへの機能追加「既存のアプリに列幅付きCSVエクスポートを追加してください」
デバッグ「このテストはうるう日に失敗します:根本原因を見つけて修正してください」
小さな変更「buildをrenderにすべて名前変更してください」
手を離す「Xを構築してください。私は離席します、自分で決めてください」
出荷「完了です:ブランチを仕上げてください」

あなたなしでプッシュまたはマージすることはありません。自律的ですが、無謀ではありません。

実際に機能するのか?

誰でも自分のツールを高速と呼ぶことができます。かつて、私は自分で書いたスクリプトを「超高速」と呼びましたが、ファイルの名前変更に11分かかりました。したがって、以下のすべての数値はヘッドレスベンチマークハーネスから来ています。同じプロジェクトを同じ仕様で構築し、エージェントが実際に見ることのない隠しテストスイートで結果をスコアリングします。覗き見なし、試験勉強なし。

最新の実行:16.1分

テストプロジェクトは意図的にtodoリストではありません。それは静的サイトジェネレーターとスプレッドシートエンジン(数式評価器、HTTP API、ブラウザUI)で、1つのプロジェクトとして1つの仕様から構築され、177の隠しテストでスコアリングされます。

最新の実行結果を現在のビルドで示します:

壁時計時間、仕様から完了ビルドまで16.1分
隠しテスト177 / 177
エージェント合計21、最大18が同時に作業
最初のビルドエージェント約3分後
最終レビュー30秒
人間に何かを尋ねるために停止0

同じプロジェクトでのsuperpowersとの比較:

壁時計時間
superpowers、標準(3回の実行の平均)33.6分
superpowers、オーケストレーション済み(3回の実行の平均)23.5分
superlite、最新の実行16.1分標準より52%短縮、オーケストレーション済みより31%短縮

同じ177/177の隠しテストを、約半分の時間で実行しました。これは現在のビルドの1回の実行と、同じマシンでの以前の実行との比較なので、査読された科学というよりは強いヒントと考えてください。しかし、非常に強いヒントです。

また、独自の以前のビルド(平均26.9分)を40%上回りました。はい、私は自分自身の過去と競争しています。私が自由にからかうことができる唯一のライバルです。

どうやってそこまで到達したのか

最新の実行は突然現れたわけではありません。最初のビルドはすでに小さなタスクで迅速でした:sitegenのみ、9モジュール、89の隠しテスト。

superpowerssuperlite
壁時計時間34.4分8.8分
隠しテスト89 / 8989 / 89
シリアルディスパッチチェーン21ディスパッチ3レベル

その速度のほとんどは、キューをなくしたことから来ています。Superpowersは一度に1つのエージェントを21回ディスパッチしました。Superliteは10回、最大5回を同時にディスパッチしました。同じ作業、列に並ぶ人が少ない。

フル177テストプロジェクトでは、以前のsuperliteビルドはsuperpowersに対して3回実行されました:

superpowerssuperlite
平均壁時計時間33.6分25.1分
実行21.2 / 31.9 / 47.6分21.4 / 23.2 / 30.5分
ばらつき、最速から最遅26.4分9.1分
隠しテストすべての実行で177 / 177すべての実行で177 / 177

平均して速く、はるかに予測可能になりました。47分間の最悪ケースは、「スタンドアップ前に完了」と「スタンドアップ後に完了、その間にほぼ完了していると言う必要があった」の違いです。

しかし、データはsuperliteがまだ自分自身を待っている場所も示しました。ビルドは約13分で完了し、その後レビュー、修正、そしてコーディネーターがテストをフォアグラウンドで実行して見つめるのにさらに10〜18分かかりました。したがって:

  • コーディネーターはコードを編集する能力を失いました。驚くほどうまく受け入れました。
  • すべてのテスト実行がバックグラウンドに移動しました。
  • 修正はティア分けされた修正専用エージェントに渡されました。
  • 計画の残りがまだ修正されている間に、安定したタスクのビルドが開始されました。

それが16.1分で実行されたビルドです。

まとめ

エージェントワークフローが遅い場合、それはモデルが深い思考をしているから遅いわけではありません。それは、作業が列で待機しており、誰かが常に許可を求めているからです。

インターフェース境界に沿って作業を分割してください。独立したタスクを同時に実行させてください。機械的なステップをスクリプトに移動させてください。そして、コードで重要なルールを強制してください。なぜなら、丁寧に頼むのは人間に対してのみ有効であり、それも時々だけだからです。

プラグインはGitHubにあります:github.com/iha2/superlite。

次の投稿では、superliteの哲学と決定について、さらに深く掘り下げます:ゲート、エージェントティア、そして私が測定されるまで非常に確信していたアイデアの墓場について。