24時間のAIコード。未来はここにある(そして欠陥もある)。

クラウドに複雑なコーディングタスクを与え、特別なテストハーネス内で24時間連続して実行させました。その結果は、自律ソフトウェア開発の未来と、その現実的な限界を驚くべき形で垣間見せています。

Hero image for: 24時間のAIコード。未来はここにある(そして欠陥もある)。
💡

TL;DR / Key Takeaways

クラウドに複雑なコーディングタスクを与え、特別なテストハーネス内で24時間連続して実行させました。その結果は、自律ソフトウェア開発の未来と、その現実的な限界を驚くべき形で垣間見せています。

24時間AIガントレット

コール・メディンは、AIをコーディングの自動補完として扱うのをやめ、眠らないジュニアエンジニアのように扱うとどうなるかを知りたいと思いました。そこで彼は、Anthropicの新しいClaude Code「長時間稼働エージェントハーネス」を立ち上げ、AIに24時間連続で働かせました。休憩なし、「もう終わり」ボタンもありません。その結果、未加工のモデルIQではなく、エージェントシステムが実際のソフトウェアプロジェクトを端から端まで進められるかどうかのストレステストが行われました。

Medinは、タスク管理アプリや単一のPythonスクリプトを求めるのではなく、 brutalな目標を設定しました。それは、claude.aiの機能的なウェブクローンを作成することです。つまり、チャット履歴、会話の流れ、アーティファクト、および実際の製品のように動作するレスポンシブUIを含む必要があります。これは単なる静的なランディングページではありません。このハーネスは、成功を通過するコードスニペットではなく、動作するフルスタックアプリとして定義しました。

メディンは、最初からテスト駆動開発に基づいた実験を構築しました。AIがコードの行を書く前に、開発サーバーを立ち上げ、ヘッドレスブラウザを起動し、主要なフローを通過する自動化されたエンドツーエンドテストを定義しました。エージェントの役割は、そのテストが成功するまでコードを編集し続けることです。

Anthropicのオープンソースハーネスは、MedinがGitHubから取得したもので、これらすべてを結びつけます。「イニシャライザー」エージェントが仕様、タスク、テストスイートを設定し、その後、専用のコーディングエージェントがファイルを繰り返し編集し、テストを実行し、失敗を検査します。各セッションはミニスプリントのように動作し、ハーネスはこれらのスプリントを連続して束ねます。

約24時間の間に、システムは50以上のコーディングセッションを繰り返し、バックエンドAPI、フロントエンドコンポーネント、そしてテストフィクスチャに触れました。ブラウザテストは容赦のない審判の役割を果たしました。機能が動作することを確認するか、エージェントをエディターに戻すかのいずれかです。進展は、AIが失敗したフローを修正した後に、新しい統合エッジケースに突入することで起こりました。

最終的には、全テストのわずか半分以上が合格し、認識可能なclaude.aiスタイルのインターフェースを生成するに足るものとなりましたが、ピクセル完璧なクローンには程遠いものでした。このハーネスは「24時間のAI」が「本番用SaaS」とは魔法のように等しくならないことを示しましたが、一方で、現代のエージェントが構造、持続性、および達成のための明確な指標が与えられれば、非自明で多層的なソフトウェア作業を維持できることも証明しました。

「チャットからコードへ」を超えて:エージェントの活用

イラスト:『チャットからコードへ』を超えて:エージェントハーネス
イラスト:『チャットからコードへ』を超えて:エージェントハーネス

Anthropicのオープンソースエージェントハーネスは、Claudeをおしゃべりなオートコンプリートから、常に働き続けるジュニアエンジニアに近づけます。単一のプロンプトとコードの塊ではなく、このハーネスはClaudeを何時間、さらには数日間も誰かが手を貸さずに動作できるスキャフォールドに接続します。

本質的に、ハーネスはループを強制します:計画 → コード → テスト → 改善。クロードは変更を提案し、ファイルを編集し、自動テストまたは開発サーバーを実行し、結果を確認し、次に何をすべきかを決定します。そのサイクルは何度も繰り返され、コール・メディンがクロードに24時間連続でclaude.aiクローンを追わせる際に頼りにしている正確なプロセスです。

シングルショットプロンプトは、静的なコンテキストのスナップショットに基づいた一度きりの回答を提供します。一方で、長期的な状態を持つセッションは、プロジェクトの履歴を蓄積し続けます:失敗したテスト、以前の差分、アーキテクチャの決定、さらにはTODOコメントさえも。50回以上のコーディングセッションにわたって、エージェントは以前の選択をリファクタリングし、回帰を解消し、単一の応答ウィンドウでは不可能なマルチステップ戦略を追求できます。

Anthropicの設計は、これを明確な役割に分けています。最初にイニシャライザーエージェントが実行され、リポジトリ、仕様、事前定義されたテストを読み込み、高レベルの計画を立てます:技術スタック、ディレクトリレイアウト、マイルストーン、そして「完了」と見なされるテストの定義を行います。さらに、深刻なコードを書く前にシステムが客観的なスコアボードを持つように、テストスイートを生成または洗練することも可能です。

初期化プログラムが準備を整えると、専任のコーディングエージェントが引き継ぎます。そのエージェントは具体的なタスクを反復処理します:Reactコンポーネントの作成、APIルートの接続、データベーススキーマの調整、または特定の失敗しているPlaywrightテストの修正などです。各ループでは、ハーネスによって公開されたツール—ファイル編集コマンド、テストランナー、ヘッドレスブラウザチェック—を使用して変更を行い、確認します。

ハーネスは状態をディスクに保持し、それをプロンプトに再接続するため、Claudeは昨日のマイグレーションや繰り返し失敗する脆弱なUIテストについて考えることができます。Medinの24時間の実行はその結果を示しています:ハーネスは単にコードを生成するだけでなく、計画と現実の間の継続的な交渉を調整し、美しいデモではなく、合格したテストで測られます。

あなたのテストが本当のプロンプトです

あなたのテストが、この24時間のスタントを本当に推進しました。コール・メディンは テスト駆動開発(TDD) をハンドルとして扱いました。「完了」とはコードで何を意味するのかを定義し、それからクラウドコードに現実が仕様に合うまで動き続けさせました。雰囲気もなく、「良さそうだ」ともなく、ただ赤か緑だけです。

エージェントがUIの1行も書く前に、コールはコアのclaude.aiフローをキャプチャするための完全なテストスイートを整備しました。このハーネスは、会話の作成、メッセージ履歴、およびアーティファクトを明確な要件として認識しており、曖昧な目標ではありませんでした。成功とは、これらのテストに合格すること、またはエージェントが引き続き機能し続けることを意味しました。

そのテストスイートは、人間とエージェントの間の契約として機能しました。すべてのコンポーネントを細かく管理する代わりに、コールはただ「ここに振る舞いがある、ここに主張がある、それを満たせ」と言いました。エージェントの自律性はその契約の中だけに存在し、ハーネスが毎回その契約を強制しました。

進捗はほぼ即座に主観的でなくなった。各コーディングセッションの後、ハーネスはテストを実行し、シンプルなスコアボードを作成した:合格したのはX、全体のY、そして失敗に対するスタックトレース。24時間の間に約50回以上のセッションを経て、その数はゼロから「半分以上」に少しずつ増えていった。

テストはナビゲーションとガードレールの役割も果たしていました。リファクタリングにより以前のフローが壊れた際、赤いテストがエージェントを引き戻し、新しいコードと古い約束を調整することを強いました。そのフィードバックループは、人間のコードレビューをより冷静で信頼性の高いもの、つまり自動チェックに置き換えました。

コールは、ヘッドレスブラウザで実際のユーザーをシミュレーションするエンドツーエンドテストに大きく依存しました。PlaywrightやPuppeteerなどのツールを使用して、ハーネスは以下の操作を行います: - 開発サーバーを起動 - ヘッドレスChromiumインスタンスを開く - ログイン、新しいチャット、アーティファクト作成をクリック - DOMコンテンツ、ネットワーク呼び出し、持続状態を確認

そのブラウザテストは、抽象的な要件を具体的なステップに変えました。「このボタンをクリック」、「このプロンプトを入力」、「このレスポンスの形状を期待する」。失敗したとき、エージェントは正確なセレクター、エラーメッセージ、および期待される値と実際の値を見て、それからコードを修正し、テストスイートを再実行しました。

最終的に、合格したテストは部分的ではあるが実際のclaude.aiクローンを描写しました。失敗したテストは、あいまいな失望ではなく、欠落しているまたは壊れている動作に正確に対応していました。

最初の数時間:進展の嵐

勢いはほぼ瞬時に訪れます。Claude CodeはAnthropicの長年のエージェントハーネスに接続され、新しいプロジェクトを立ち上げ、依存関係をインストールし、人間がアーキテクチャのスケッチを終える前にフルスタックアプリを構築します。最初の1時間以内に、Reactのフロントエンド、基本的なバックエンドAPI、ローカル開発サーバーに対してエンドツーエンドテストを実行するために必要な配線を生成します。

UI作業は迅速かつ自信を持って進行します。エージェントは、claude.aiスタイルのレイアウトを再現します:会話用のサイドバー、メインのチャットペイン、コードブロックやフォーマットされたテキストを表示できるアーティファクトパネルです。メッセージバブル、入力エリア、会話リストのコンポーネントをス stub し、その後プレースホルダーデータに接続することで、実際のロジックが入力される前でもインターフェースが生き生きとした印象を与えます。

コール・メディンは、TDDチェックの一連を前面に出すため、進捗にはスコアボードがあります。初期テストでは基本的な事項をカバーします:アプリがクラッシュせずに起動すること、チャットビューが表示されること、メッセージが順番どおりに表示されること、基本的なルーティングが機能することです。クロードは、これらをグリーンフィールドスプリントのシニアエンジニアのように難なくこなし、しばしば1回の反復で失敗したテストを修正します。

低レベルの配管が続きます。エージェントは、会話を作成し、メッセージを投稿し、履歴を取得するためのAPIルートを設定し、フロントエンドを更新してそれらを呼び出します。TypeScriptの型、シンプルなエラーハンドリング、環境設定は、自動的に現れ、ハーネスがテストを常に再実行し、スタックトレースを浮き彫りにする副作用です。

この「手の届きやすい果実」の瞬間、システムはまるで魔法のように見えます。コミットが積み重なっていくのを見ながら、新しいコンポーネント、CSSの調整、ユーティリティ関数、テストファイルが追加されていきます。各緑色のテストが次の野望の層を解放します—マルチメッセージフロー、ローディングステート、基本アーティファクトのレンダリング—人間がキーボードに触れることなく。

数時間の間、ボトルネックは知力ではなく、I/Oです。エージェントはアイデアを待つよりも、`npm install`、ブラウザテスト、開発サーバーの再起動を待つ時間が長く、テストスイートの簡単な30〜40%をすばやく終わらせた後、本当の困難に直面します。

プラトーに達する:AIが行き詰まる場所

イラスト: プラトーに達する: AIが行き詰る場所
イラスト: プラトーに達する: AIが行き詰る場所

モメンタムは衝突で失敗するのではなく、反復に薄まっていく。おおよそ12時間と数十回のエージェントセッションの後、コール・メディンのclaude.aiクローンは前に進むのを止め、円を描いて歩き始める。新しいコミットは依然として行われるが、主に既存のロジックを再配置したり、セレクタを微調整したり、コンポーネントの名前を変更したりするだけで、新しい合格テストを解放することはない。

複雑性はローカルなものからシステム全体に広がります。エージェントは現在、認証状態に依存するブラウザフロー、リロードを跨いで持続しなければならない会話スレッド、バックエンドAPI、フロントエンドルーティング、そしてUI状態に触れるアーティファクトのレンダリングといったマルチホップ問題に取り組んでいます。各変更は一つのエッジケースを修正しますが、静かに他の二つを壊してしまいます。

不安定なテストが主な敵となります。ヘッドレスブラウザによるチェックは、競合状態、タイミングの問題、またはわずかなDOMの違いのために時折失敗します。ハーネスは、すべての失敗したテストを本物のバグとして扱うため、エージェントは実行ごとに、人間ならすぐに「テストが悪い、アプリではない」とタグ付けする非決定的な失敗を追い続けます。

数字に高原が見えます。24時間後、ハーネスはエンドツーエンドテストの半数以上が通過していると報告しています—自動化システムとしては印象的ですが、滑らかな曲線ではなく、厳しい上限です。初期の時間帯は明らかな勝利を勝ち取りますが、後の時間帯は文法の正しさだけでなく、製品のニュアンスを表現する統合テストに取り組んでいます。

タスクが不明瞭になるにつれて、アーキテクチャの直感が重要になり、エージェントはそれを持っていません。Reactコンポーネントをリファクタリングしたり、APIハンドラーを入れ替えたり、TypeScriptの型を調整したりできますが、claude.aiスタイルのアプリ全体に対する強いメンタルモデルを欠いています。ブラウザのフローがバックエンドの仮定と一致しない場合、エージェントはフローを再設計するのではなく、局所的に反応します。

シニアエンジニアは、このフェーズを担当し、一歩引いてシステムの形状を変えます。彼らは: - 漏れた抽象を統合する - UI、状態、APIの間により明確な境界を導入する - 間違った契約をエンコードする脆弱なテストを書き直す

エージェントはそれらのいずれも自ら行いません。すべての失敗を修正可能な欠陥として扱い、アーキテクチャやテストスイートの再考を必要とする信号とは見なしません。これにより、エージェントは強力な実行者となり、決してコーディングを止めない疲れ知らずのジュニア開発者になりますが、あなたのアプリが実際にどのように動作すべきかを決定する人物にはふさわしくありません。

このプラトーは、派手な初回デモ以上に、最先端の自律コーディングが本当にどこにあるかを示しています:実行には優れているが、デザインにはまだ素朴さが残っています。

最終スコアカード:成功か失敗か?

24時間の時点で、コール・メディンの実験は非常にシリコンバレーらしくない指標で終わった。自動テストの「わずか半分以上」しか合格しなかったのだ。勝利の周回もなく、洗練されたclaude.aiのクローンもなく、ただ静かに自身の仕様の約50〜60%が達成されたことを報告するハーネスのみが存在していた。

別の視点から言えば、ほとんど監視されていないAIコーディングエージェントが1日中リアルなフルスタックアプリに取り組み、実際に動作し、ルーティングし、レンダリングするものを出荷しました。ハンズオフのシステムとしては、これは「1つのプロンプトで作るおもちゃのCRUDアプリ」時代に比べて驚くべき進展ですが、依然として商業用ソフトウェアには遠く及びません。

合格したテストは、現在のモデルが得意とする領域に集中していました:構造、ひな形、予測可能なフロー。UIレンダリングチェック、コンポーネントレイアウト、基本的なナビゲーション、シンプルなAPIエンドポイントは、すでに大規模言語モデルが知っているパターンにきれいにマッピングされるため、ほとんどが合格しました。

失敗が重なり合い、混沌とした相互接続された状態が存在していた。複雑な会話のスレッド、アーティファクトライフサイクルルール、マルチステップフロー、エッジケースのエラーハンドリングが赤いテストの墓場を生み出し、すべての変更が他の三つのサブシステムを壊す可能性があるとき、自律的なリファクタリングがいかに脆弱になるかを露呈させた。エージェントは、失敗したテストの一つを修正することがよくあったが、その一方で以前のテストを蘇らせることが多かった。

コールのハーネスは、ブラウザベースのエンドツーエンドテストに大きく依存し、ヘッドレス環境を立ち上げてフェイクのclaude.aiインターフェースを操作しました。これらのテストは、関数のシグネチャだけでなく、ボタン、モーダル、ネットワークコールといった実際の動作を検証したため、すべての合格テストがより意味深くなり、すべての失敗テストが強引に解決するのが難しくなりました。

コスト面では、システムは無限のトークンの噴水のようではなく、むしろCPUに依存したCIサーバーのように機能しました。実際のテスト実行が、プロンプトの長さではなく、壁時計時間を支配したため、極端な百万トークン毎時の領域に達することなく、数十回の完全な反復が可能でした。

そのトレードオフは、長期間稼働するエージェントにとって重要な制約を明らかにします。経過時間の遅延はトークンの消費に自然な制限をかけますが、同時にシステムが探索し、失敗し、回復する回数にも制限を設けます。「より多くのトークンにスケールアップする」ことだけでは、残りの40%以上のテスト、特に最も厄介な統合ケースがドミノのように倒れることは期待できません。

AIコーダーにとってTDDが非交渉的である理由

コードエージェントには感覚は必要なく、テストが必要です。コール・メディンの24時間クラウドコードマラソンは、重要な行動がすべて自動チェックとして存在していたため、なんとか冷静さを保ちました。エージェントの仕事は「アプリを作る」ことではなく、「これらのテストを通過させる」ことでした。これによって曖昧なプロンプトが具体的な契約に変わったのです。

そのテストハーネスは、そうでなければ確率的なシステムのためのレールのように機能しました。各コーディングループは同じように見えました:編集を提案し、テストスイートを実行し、失敗を検査し、繰り返す。50回以上のセッションを通じて、そのリズムはAIコーディング実験における珍しいものを生み出しました:無関係なコードのダンプの山ではなく、再現可能な進展です。

TDDはエージェントにリグレッションアーマーも提供しました。クロードがReactフロントエンドをリファクタリングしたり、APIハンドラーを再構築した際、ハーネスはすぐにエンドツーエンドのブラウザテストを再実行し、会話やアーティファクト、サイドバーのフローをクリックしました。「修正」がメッセージ履歴やアーティファクトのレンダリングを壊した場合、赤いテストがバグが広がる前にエージェントを引き戻しました。

その安全ネットは、純粋な「プロンプト・アンド・シップ」のワークフローでは決して信頼できないような、積極的にリスキーな変更を促しました。エージェントは、テストが動作を保持しているため、全体のコンポーネントを取り出したり、ルートを再編成したり、データ構造の名称を変更したりすることができました。意図はアサーションの中に存在し、実装はモデルが随時入れ替えられる詳細となりました。

TDDは意図実装を明確に分離し、これはほぼ完璧にLLMの動作に対応しています。人間のエンジニアは、製品の期待をJestやPlaywrightのテストとして定義しました。「メッセージを送信すると、スレッドに表示される」「アーティファクトはメタデータを伴ってパネルに表示される」。Claudeは、これらのステートメントを満たす方法をコードベースの中から検索するだけでした。

その外部化は重要であり、モデルが高レベルのプロンプトのままだと要件を誤認識することがあります。ここでは、意図はモデルのコンテキストウィンドウの外に存在し、コードとしてディスクに固定されていました。何千ものトークンと数十回のツール呼び出しの後でも、「完了」という根本的な真実は同じままでした。すなわち、プロンプターを喜ばせるのではなく、スイートを通過することです。

それを、チャットUIで人々が試みる通常のプロンプトと祈りコーディングと比較してみてください。あいまいな仕様を貼り付けて、TypeScriptの塊を得て、それをざっと見て、3回目のプロンプト後に「小さな調整」が静かに認証や状態管理を壊していることを発見します。自動回帰チェックもなく、安定したターゲットもなく、ただ雰囲気と手動のクリックだけです。

メディンの実験は、トレードオフを明確に示しています。構造化されたTDDとハーネスを組み合わせることで、24時間後にテストの半分以上が成功したclaude.aiスタイルのアプリが生まれました。一方、プロンプトのみのワークフローは、一貫性のない再現不可能なコードに崩壊することなく24分も持ちこたえることは稀です。

人間の新たな役割:AIアーキテクト

イラスト: 人間の新しい役割: AIアーキテクト
イラスト: 人間の新しい役割: AIアーキテクト

コール・メディンの24時間の実験における人間の努力は、Reactコンポーネントの作成やTailwindクラスの調整には向けられませんでした。それは、AIが存在するシステムの定義に費やされました:リポジトリのレイアウト、claude.aiスタイルの機能セット、エージェントが従うべきルールでした。その土台が整った後、Claude Codeは同僚というよりは非常に速く、非常に文字通りの請負業者のようになりました。

メディンの最も効果的な措置は、AIが書いたコードの最初の行の前に行われました。彼はテクノロジースタックを選び、AnthropicのGitHubリポジトリから長期的に運用されるハーネスを組み立て、「完了」とは一連の自動テストに合格することを意味することを決定しました。その基盤は、24時間の間にエージェントができることとできないことをすべて決定しました。

ハーネス自体は、人間の新しい職務内容を効果的にエンコードしていました。「初期化」エージェントが仕様、タスク、テストを設定し、「コーディングエージェント」がコードベースを繰り返し更新し、スイートを実行し、緑のチェックマークを追いかけました。メディンの役割は、そのループを設計することであり、各機能やCSSルールを細かく管理することではありませんでした。

この世界で成功する未来の開発者は、文法ではなく問題の枠組みづくりに執着するでしょう。彼らは次のように定義するでしょう:

  • 1問題領域: アプリが何をしなければならないか、どのフローが重要か、どのエッジケースが重要であるか
  • 2制約:スタック選択、パフォーマンス予算、セキュリティルール、統合ポイント
  • 3成功基準:エンドツーエンドテスト、受け入れ閾値、および譲れない行動

これらの決定は、クラウドが「半分少し」テストを通過させることができた理由と、そこで行き詰まった理由を形作りました。欠落しているか曖昧なテストは、エージェントに特定の統合バグを修正するインセンティブを与えませんでした。あまりにも広範な目標は、核心となる機能を優先するのではなく、複雑なUIフローで迷走させてしまいました。

価値はハーネス自体のエンジニアリングに移行します:エージェントが正しい目標に向かうためのプロンプト、ツール、フィードバック信号です。これには、厳しいテストスイートの作成、エージェントの実行に関する可観測性の設計、コンテキストのリセットや仕様のリファクタリングを決定することが含まれます。人間はAIアーキテクトとなり、設計図やメジャーを担当し、モデルがドライウォールや配線を処理します。

AIコーディングの爆発におけるこの位置づけ

エージェンティックコーディングはもはや研究論文やデモリールだけに存在するものではありません。コール・メディンの24時間の試練は、アンソロピックの長年にわたるエージェントハーネスをGitHub Copilot、Codeium、Replit Ghostwriterと同じ会話にしっかりと置いています。このシステムは単に関数のオートコンプリートを行うだけではなく、一人でソフトウェアスプリント全体を実行します。このシステムはclaude.aiのクローンを構築し、UIフローを配線し、丸一日中エンドツーエンドのテストを行います。

「スマートオートコンプリート」から「持続的なワーカー」への飛躍が本当のストーリーです。GitHub Copilotのようなツールは、キーストロークのレベルで動作します:次の行、あるいは次のブロックを予測します。メディンのセットアップはタスクレベルで機能します:「アーティファクトを実装し、会話をつなぎ、これらの40以上のテストを満たす」、その後、現実が仕様に一致するまで数十セッションのエージェントを繰り返し行います—少なくとも半分は。

エージェントフレームワークは以前はDeepMind専用のおもちゃのように感じられ、内部オーケストレーションスタックの背後に隠れていました。しかし、Anthropicのオープンソースのclaude-code-harnessはそのダイナミクスを覆します。今や単独の開発者が以下を立ち上げることができます: - 仕様とテストを定義するイニシャライザーエージェント - コードを編集しブラウザを操作するコーディングエージェント - 50セッション以上続くフィードバックループ

そのアクセシビリティは、誰が自律エージェントを試すことができるかを変えます。CLIを呼び出し、ヘッドレスブラウザを立ち上げ、プロジェクトの状態を管理する長期的なツールを運用するために、もはやカスタムインフラチームは必要ありません。必要なのは、GitHubリポジトリ、テストスイート、そしてクレジットカードだけです。

業界全体として、これはスタックの新しい層を示しています。「AIビルドパイプライン」がCI/CDの隣に位置しています。IDEコーパイロットは人間がより早く入力するのを助け、活用されたエージェントはロードマップを実行し、コードベースを一晩でリファクタリングしたり、不安定な統合テストに取り組んだりします。メディンの24時間の実行は雑然としており不完全に見えますが、それはすべての真剣なエンジニアリング組織が、主な寄稿者がボットであるリポジトリを少なくとも1つ持つ近い将来を予告しています。

エージェント駆動開発への第一歩

ほとんどの開発者は、tmuxペインで24時間稼働するAIマラソンを必要としません。真のアップグレードは、コール・メディンのスタントの背後にあるエージェンティックな習慣を取り入れることから生まれます。目標をテストとしてエンコードし、モデルにツールを提供し、システムレベルで監視しながらフィードバックループを通じて処理させるのです。

単一の機能から始めてください。完全なclaude.aiのクローンではなく、「OAuthログインの追加」、「CSVインポートの実装」や「設定ページの構築」などの何かを選び、3〜10の自動テストを定義して、完了の状態をどのプロンプトよりも正確に説明してください。

その機能を厳密な「テストと改善」のループで包み込みましょう。選んだAIに実装を記述させ、テストを実行させた後、失敗した部分を修正するよう依頼してください。すぐに手動で修正する誘惑に抗い、設計者としての役割を自分に与え、仕様を調整し、エッジケースを明確にし、時には複雑な関数を書き直すことを心がけましょう。

Anthropicのリポジトリは、具体的な出発点を提供します。コールが使用した長期間運用されているエージェントはgithub.com/anthropics/claude-agentic-codingにあり、より広範なClaude Codeの例は、ファイル編集、テストランナー、ブラウザ自動化を1つのループにどのように統合するかを示しています。

コールの50回以上のコーディングセッションをコピーしたり、初日にヘッドレスブラウザファームを立ち上げたりする必要はありません。エージェントに`pytest`、`npm test`、またはPlaywrightスクリプトを繰り返し呼び出させることで、80%の効果を得ることができます。そして、明らかに頭打ちになったり混乱し始めたりしたときだけ介入すれば良いのです。

実用的なスターターレシピは次のようになります: - 1つの機能に対する短い仕様書とテストを書く - AIにリポジトリ、仕様書、テストコマンドを渡す - テストが通るまで、または進捗が停滞するまで反復する - テスト、アーキテクチャ、またはプロンプトを洗練させて再度繰り返す

このように利用することで、エージェント駆動の開発はあなたを置き換えるのではなく、あなたの到達範囲を広げます。これまで「このスプリントには大きすぎる」と棚上げしていた機能に挑戦したり、より野心的なリファクタリングを探求したり、テストがその品質を保証するため、我慢ではなく基準を高く保つことができます。

よくある質問

AIエージェントハーネスとは何ですか?

AIエージェントハーネスは、AIモデルにツール、メモリ、および構造化されたループ(計画、コーディング、テスト、洗練)を提供し、アプリケーション全体のコーディングのような複雑で長時間のタスクを自律的に実行できるフレームワークです。

AIは24時間でアプリを成功裏に構築できましたか?

AIは大きな進展を遂げ、claude.aiクローンに必要なテストの半分以上を完了しました。しかし、プロジェクトは完全には完了せず、複雑な統合タスクにおけるAIエージェントの現在の限界を浮き彫りにしました。

これは今日、ソフトウェアを開発する実用的な方法ですか?

まだ実験的ではありますが、示されたテスト駆動アプローチは非常に実用的です。自動化されたテストによって成功を定義することで、AIがより信頼性高く機能し、単純な会話の促しよりも良い結果を生み出すことができることを示しています。

実験で使用されたAIモデルは何ですか?

この実験では、ソフトウェア開発タスクに最適化されたAnthropicのClaude Codeモデルを、彼らのオープンソースの長期稼働エージェントハーネス内で使用しました。

🚀Discover More

Stay Ahead of the AI Curve

Discover the best AI tools, agents, and MCP servers curated by Stork.AI. Find the right solutions to supercharge your workflow.

Back to all posts