00:00:00AIエージェントの主な課題は、コンテキストウィンドウの制限です。これにより、過去の行動を記憶できる範囲が狭まります。
00:00:06Claude Codeに大きなタスクを与えると、
00:00:08一つの機能を実装しようとする間に何度もコンテキストを圧縮し、
00:00:12本来実装すべき主要なタスクを忘れてしまいます。そのため、
00:00:15長時間のタスクには効果的ではありません。
00:00:17Anthropicは、実際のエンジニアリング環境におけるチームの働き方に基づいた解決策を発表しました。
00:00:22彼らは、長時間のタスクで失敗する主な理由を2つ特定しました。
00:00:26多くの人が、
00:00:27アプリケーション全体や大きな機能を一度に実装しようとした経験があるでしょう。しかし、
00:00:30一度に多くのことをやろうとすると、
00:00:32モデルのコンテキストが不足してしまいます。
00:00:34何度もコンテキストが圧縮されると、
00:00:35コンテキストウィンドウは機能が半分しか実装されていない状態で更新され、
00:00:39その機能の進捗状況に関する記憶が失われます。結果として、
00:00:42実装が不完全なままになります。
00:00:432つ目の問題は、テスト機能が不十分なため、Claudeが未テストの機能を完了と見なしてしまうことです。
00:00:49たとえ機能が正しく動作していなくても、完了したと判断してしまうのです。
00:00:53彼らの解決策は、
00:00:53実際のソフトウェアチームの働き方にヒントを得て、
00:00:56初期化エージェントとコーディングエージェントを連携させるというものでした。
00:00:59このワークフローは元々、
00:01:00自分で構築するエージェント向けに考案されましたが、
00:01:03Claude Codeのインスタンスにも適用できると気づきました。
00:01:06最初のエージェントは、
00:01:07コーディングエージェントを適切に初期化することに注力します。これには少し時間がかかるので、
00:01:11忍耐が必要です。
00:01:12私は空のNext.jsプロジェクトを持っており、オンラインPythonコンパイラを構築したいと考えています。
00:01:16開始する前に、initコマンドを使ってClaude.mdファイルを作成します。
00:01:20このファイルはコードベースのドキュメントであり、プロジェクトのルートに配置され、概要とすべての重要な情報を含んでいます。
00:01:27次に、プロジェクトのルートに機能リストのJSONを生成します。
00:01:30すべての機能と、
00:01:31それに対応するテスト手順をリストアップし、
00:01:33すべてのテストを初期状態で「失敗」とマークします。これにより、
00:01:35Claudeはテストを実行せざるを得なくなります。
00:01:38MarkdownではなくJSONを使用するのは、JSONファイルの方がコンテキスト内で管理しやすいためです。
00:01:43Claudeはコードしかテストできず、
00:01:44ブラウザで表示されるインターフェースはテストできないため、
00:01:47ブラウザテスト用にPuppeteerを接続しました。
00:01:49その後、
00:01:49開発サーバーの起動をガイドする初期化スクリプトと、
00:01:52プロジェクトの完了状況を追跡するための進捗トラッキングファイルを作成します。
00:01:57ガイドラインとして、Claudeは各実行後にprogress.mdを更新し、実装後に各機能をテストする必要があります。
00:02:04最も重要な実践は、Gitへのコミットです。
00:02:07マージ可能な状態でコミットすることの重要性を、私たちは過小評価しがちです。
00:02:10明確なログを持つGitコミットは、何が完了したかを示し、実装が失敗した場合に元に戻すことを可能にします。
00:02:15最後に、Claudeは機能を「実装済み」とマークする以外に、機能リストを変更してはなりません。
00:02:20環境が整ったところで、コーディングに移ります。
00:02:23アイデアは、機能JSONから各機能を一つずつ実装していくというものでした。
00:02:27Claudeは、テスト済みの各機能の後に説明的なコミットメッセージを作成し、必要に応じてブラウザも起動しました。
00:02:33アプリが動作していることを確認すると、
00:02:35JSONフィールドをfalseからtrueに更新し、
00:02:38progress.mdにこれまでに完了した内容を追記しました。
00:02:42最後に、変更をコミットし、コミットが成功したことを確認しました。
00:02:45この漸進的なアプローチの利点は、セッションが終了しても、中断したところから正確に再開できることです。
00:02:51すべてがGitログで追跡されるため、コードを壊す心配はありません。
00:02:55Claudeはコード自体からではなく、
00:02:57Gitログと進捗ファイルからプロジェクトを理解できるため、
00:03:01セッションを簡単に再開できます。
00:03:02次のプロンプトは、単に「未完了」とマークされた次の機能を実装することです。
00:03:06このアプローチは、Claudeが適切なテストなしに機能を完了とマークする傾向も減らします。
00:03:11各イテレーションで、
00:03:12アプリが実テストによってエンドツーエンドで構築されることを保証し、
00:03:16コードだけでは明らかにならないバグの特定に役立ちます。
00:03:19すべての機能がtrueとマークされるまで、このサイクルを繰り返します。
00:03:22これはBMADメソッドに似ていると思うかもしれません。
00:03:24類似点はありますが、Claudeのワークフローの方がいくつかの点で優れていると思います。
00:03:28エージェントを個別に呼び出す必要がなく、コンテキストの利用効率も向上しました。
00:03:33これほど多くの機能を実装した後でも、
00:03:35コンテキストの使用率はわずか84%でした。BMADであれば、
00:03:38作成する大規模なストーリーのために、
00:03:39すでに2回コンテキスト圧縮が発生していたでしょう。
00:03:42とはいえ、BMADはすぐに使える完全なシステムである一方、こちらはまだ実装が必要なアイデアの段階です。
00:03:48しかし、BMADもGitシステムなど、このアプローチから学ぶべき点があるかもしれません。
00:03:51何百万人もの人々にAIを使った開発方法を教えた後、私たちはこれらのワークフローを自ら実践し始めました。
00:03:57その結果、これまで以上に迅速に、より良い製品を開発できることを発見しました。
00:04:00アプリであれウェブサイトであれ、私たちはあなたのアイデアを形にするお手伝いをします。
00:04:04もしかしたら、
00:04:04私たちの動画を見て「素晴らしいアイデアがあるのに、
00:04:06それを開発する技術チームがいない」と考えているかもしれません。まさに、
00:04:09そこで私たちの出番です。
00:04:10私たちをあなたの技術的な副操縦士だと思ってください。
00:04:12私たちは、
00:04:13何百万人もの人々に教えてきたのと同じワークフローをあなたのプロジェクトに直接適用し、
00:04:17開発チームの採用や管理の煩わしさなしに、
00:04:20コンセプトを実際の動作するソリューションへと変えます。
00:04:22あなたのアイデアを現実のものにする準備はできていますか?
00:04:25hello@autometer.devまでご連絡ください。これでこの動画は終わりです。
00:04:29チャンネルをサポートし、このような動画を制作し続けるのを手助けしたい場合は、下のスーパーサンクスボタンをご利用ください。
00:04:36いつもご視聴ありがとうございます。また次の動画でお会いしましょう。