一人で複数のアプリを運営する方法:エージェント・ハーネス

私は一人でいくつかの小規模なアプリを構築・維持しています。共同創業者も、従業員も、外注先もいません。私が使っているのは、自分一人と、AIエージェントのグループです。

AIのおかげでコーディングが速くなっていると思われがちですが、それが秘訣ではありません。

秘訣は、AIに「証拠なしにタスク完了」を認めさせないことです。一人で作業しているとき、危険なのは作業の遅さではありません。「自信満々に間違えること」です。

AIは、テストを実行していなくても「テストに合格しました」と言います。関数名を書いただけなのに「機能は完成しました」と言うこともあります。ミスを指摘してくれる同僚がいない状況では、たった一度の「問題なさそうです」という誤った判断が、アプリを台無しにする可能性があります。

そこで私は「ハーネス(harness)」と呼ばれるシステムを構築しました。これは、「嘘の完了報告」にコストがかかるようにする仕組みです。特化型エージェントと検証ゲート(verification gates)を使用し、AIが真実を述べていることを保証します。

仕組みは以下の通りです:

• 特化型エージェント:一人のアシスタントではなく、40人の特化型エージェントを使用します。Flutterのコードをレビューするエージェント、セキュリティをチェックするエージェント、テストを実行するエージェント、そして主張と実際の手順を比較して現実性を監査するエージェントがいます。 • 隔離された作業:エージェントは、それぞれ独立した一時的な環境で作業します。互いの作業を上書きすることはできません。 • 冗長性:一つの変更に対して複数のレビュアーを配置します。一人のレビュアーは見落とすかもしれませんが、異なる目的を持つ3人のレビュアーに懐疑的な視点を加えることで、バグを見つけ出すことができます。 • 固定されたパイプライン:すべてのタスクは厳格なプロセスに従います:

  • タスクの計画。
  • 変更の実装。
  • コードの実際の実行。「動くはずです」という言葉は受け入れません。実際の出力のみを受け入れます。
  • 現実性の監査(Reality audit)。別のエージェントが、コードが主張と一致しているかを確認します。
  • レビュー。言語の専門家が作業内容を確認します。
  • 検証ゲート(Verify gate)。最終的なチェックで、実際の変更が行われたか、セキュリティの漏洩がないかを確認します。結果はPASS(合格)またはREJECT(却下)で返されます。

このシステムは、かつて自分が自分自身についた嘘を止めてくれます。

「動くはずだ」は、実行段階で失敗します。 「完了」は、コードが空っぽの殻であれば、現実性の監査で失敗します。 「すべて正常(All green)」は、警告が隠されていれば失敗します。

また、3層メモリシステムも使用しています。これは、短いインデックス、長期的なメモ、そして全文検索を組み合わせたものです。これにより、AIが過去の設定を推測で補完することを防ぎます。

最も重要なルールはこれです:作業は自動化するが、判断は決して自動化しない。

• 公開は手動です。ボタンを押すのは私です。 • 本番公開には私が必要です。すべての支払い設定やリリース設定を私が承認します。 • 失敗した状態でマージされることはありません。ビルドが壊れていれば、すべてがブロックされます。

AIによるレバレッジはタスクの自動化から得られますが、安全性は意思決定の自動化を拒否することから得られます。

一人で作業する場合、最も貴重なリソースは「信頼」です。自分がリリースしたものが、意図した通りのものであると確信できなければなりません。

小さく始めましょう。自分が最も頻繁に犯すミスを見つけてください。そのミスが起こり得ないようなチェック機能を一つ構築するのです。

Source: https://dev.to/pi-maker/how-i-run-a-handful-of-apps-solo-the-agent-harness-explained-512i

Optional learning community: https://t.me/GyaanSetuAi