エージェントが自走するコードベースへ、鍵は「開発環境」
Towards Self-Driving Codebases

AIエージェントにコードを書かせる「tokenmaxxing」は期待外れに終わり、今は幻滅期。しかしエージェントは環境さえ整えば、バグ修正や本番エラー対応、フロントエンドの一貫性、グロース実験までこなせる。ボトルネックはモデルではなく、エージェントがコードを実行し検証できる開発環境だ。エージェント可読な環境、グローバルメモリ、コードベースの腐敗防止が新たな基盤となり、エンジニアは「良いアイデア」に集中できる。
この時点で、開発エージェントの制約要因は、モデルやハーネスそのものではなく、彼らが動作する環境である。
HNでの議論
83- CharlieDigital
> エージェントが大量の馬鹿げたミスをするのは実は問題ない。問題なのは、同じミスを繰り返すことだ。
ライフサイエンスの分野で少し働いたことがある。臨床試験には是正処置・予防処置(CAPA)と呼ばれるプロセスがある。失敗許容度が低い他の分野(例:航空機)でも見られる。
シンプルだ:ミスが起きたら、CAPAプロセスを実行し(GoogleでCAPAフォームを検索して、そのプロセスがどんなものか推測できる例を見てほしい)、根本原因を特定し、そもそもミスを許してしまったプロセスを修正する。
(少なくともライフサイエンスのSaaSベンダーとして、CAPAが発生した場合(例:SEV0障害後)、それはSOPに組み込まれ、SOPの再トレーニングが義務付けられた。監査人はCAPAの証拠、SOPのバージョン、トレーニングの記録を求める。ほとんどのお店には大げさすぎるが、文脈/色として付け加えておく)
これはほとんどのエンジニアリング組織が規律を持っていないことだ。ある程度の勤勉さが必要だからね。
完全にエージェント化すべきか?CAPAを承認するために人間の介入があるべきか?答えを出すべき未解決の問いだ。
- calldacopsidc
おそらくただの飾り文句に過ぎないものにこだわってすみませんが、最初の文…「エージェントは実際に楽しいゲームをワンショットできる」って、ええと、例えば?
ここで間違っていると証明されたい。3つのモデル発表で同じ基本的な1レベルのカートレーサーを見ただけのような気がする。ワンショットだったのかさえ確信がないし、もちろん「楽しい」とは言えない。
- 2001zhaozhao
結局のところ、人間にとって機能するプロセスはすでにあり、コードベースを健全に成長させるテスト、検証、レビューの種類もわかっている。あとはこれらの設計をAIにできる限り適応させるだけだ。
AIには速度、制御性、優れたデフォルト(例:Claudeは促されなくても役立つコメントを書く。これはほとんどのエンジニアより良い)、そして包括的なテストのようなベストプラクティスを人間のチームよりはるかに低コストで実装できる能力など、人間に対する多くの利点がある。個人プロジェクトでAIを使うと、手動よりもはるかに低いバグ率でソフトウェアを書ける。以前は自動テストスイートを作る時間がなかったからだ。しかし、AIには硬直性、限られたコンテキストウィンドウ、デフォルトでの創造性の欠如といった欠点もあり、これらはハーネス(例:別々の、よく圧縮されたコンテキストを持つ異なるエージェント)で解決するか、人間のレビュー層で回避する必要がある。
コーディング自動化の最良のコアパターンは、目の前の具体的な問題に一連のエンジニアリングプラクティスを柔軟に適用できるエンジニアリングマネージャーエージェント層を作ることだと思う。それは人間に届く前にすべてのコーディングエージェントのpingを処理し、意思決定の際に大局を確実に考慮するようにプロンプトされる。ごく稀に、真にブロッキングな問題や計画レビューを人間に直接エスカレーションするが、ほとんどの場合、下層のコーディングエージェントから得た情報を整理し、表面化する[…]
- aerodexis
私には理にかなっている——並行して2つの別々の道を進むと思う:
一つは、サイバー防御のOODAループから人間を外すこと。Servletライブラリ(例えば)は流動的で自己修正するものになり、契約は今日とはかなり異なる動作をするだろう。これらのものに関するエンジニアリングプラクティスは変わる必要がある。
二つ目は、UXが自己修正的になること。piが自分自身を修正できるように、これはユーザー向けアプリケーションの一般的な慣行になるだろう。おそらく、ユーザーが微調整を記述してアプリケーションの機能方法の変更を要求できるテキストボックス。アプリケーションのエンジニアリングは、アプリケーションの譲れない部分をモデル化し、ユーザー主導のLLMがオンザフライでソフトウェアを修正するための正しいプリミティブを提供し、変更を追跡およびロールバックすることに焦点を当てるだろう。ユーザーが広告を排除しようとしても広告が確実に配信されるようにする方法についても、楽しい課題がある。
- jakeinspace
AIプログラミングは、自動運転車と似たような状況にあるように感じる。典型的なケースには十分で、ほとんどの人間より優れているかもしれないが、新しい状況や、システム(コード、ビジネス要件、物理世界、何でも)の本当に一貫したモデルを必要とする状況に対処するのは苦手だ。