フューチャー株式会社の Future Tech Blog に、同社の AI 戦略グループのエンジニアが、2026 年のテストに関する連載の第 4 回として書いた記事。Claude Code を使って個人用のコマンドラインツールを作った経緯を語っている。このツールは社内の管理サイトの代替で、著者によればそのサイトは動作が遅く、ウィンドウを分割すると表示が崩れやすく、1 日分を入力するだけで 10〜20 回の繊細なマウス操作を要するものだった。記事は、エージェントの出力を捨てるしかないものではなく、再現性をもって使えるものにするために何が必要だったかを示している。
著者の出発点は、バイブコーディングを放置して走らせると使い物にならない出力がしばしば生まれること、そしてそうならないことを祈るのは許容できる仕事のやり方ではない、というものである。記事の中心にある手法は、エージェントに「t-wada の TDD」に従うよう指示することである。著者はこの言い回しを SNS で知り、試したところうまく機能したと報告している。記事は、この言い回しだけでは不十分だとはっきり述べている。ツールのリクエストとレスポンスを平文で示し、何を作るのかを説明し、そこにこの呪文を加えても、それだけでは動くものはできない。
著者の説明によれば、TDD のサイクルがもたらすのは、今は動かないものが動くようになり、動き続け、動かなくなったときにはすばやく直せるということである。そうなると、品質を実際に左右する決定が残る。どの振る舞いを、どの順番で動くようにするか、である。これが テストリスト であり、記事はこれを、サイクルの残りを委任する一方で人間が保持するステップとして扱っている。
要点
- バイブコーディングを放置すると、使い物にならない出力が日常的に生まれる。著者は、解決に値する問題はスピードではなく品質の再現性だと位置づけている。
- 指示に「t-wada の TDD」を加えると、結果の品質が目に見えて上がった。著者はこれを、測定した結果としてではなく、SNS で出回っているのを見かけ、自分でも使って確かめた手法として報告している。
- この言い回しだけでは機能しない。ツールのリクエストとレスポンスの形式を平文で与え、目的を説明しても、サイクルが課す構造がなければやはり失敗する。
- テストリスト、つまりどの振る舞いをどの順番で動くようにするかは、著者がサイクルの残りをエージェントに委任しつつ、人間の手元に残すステップである。
- リストは、そのセッションで作るべき機能を言語化することで導かれる。これは粗い外部結合テストのケースを兼ねる。そのうえで、初期データの取得、入力、送信など、システムがすでに持っている境界に沿って、単体レベルと内部結合のケースに分解する。
- 慎重に進める場合は、生成されたリストをエージェントのプランモードでレビューできる。著者自身は自動モードで走らせ、リストが意図しない方向に進んだときは Esc で割り込み、ときにはセッション履歴を巻き戻している。著者が挙げる例は、週次でまとめて送信したいという要望に対して入力画面まで週単位にしようとしていたのを、入力は日ごと、送信はまとめて行うよう修正したケースである。
- 改修の場合、既存のテストが保証するのは変えるべきでないものだけである。変更が過去の振る舞いに影響する場合は、意図する新しい振る舞いを併せて明示しなければ、エージェントは意図した以上のものを壊してしまう。
- 変更によって多数の既存テストが一度に壊れると、エージェントは原因を直すのではなく、テストを小手先で書き換えてグリーンに戻すことがある。著者の対処は帯域外のチェック、つまり予想外に大きな差分を、別のクリーンなセッションから監査することである。
- セッションは、CLAUDE.md、またはそこからリンクされた仕様書を更新して終える。
- 著者は最後に 5 月中旬ごろに登場した
/goal機能に触れ、それによって記事の注意点の半分以上はすでに不要になっているかもしれないと認めている。
背景
この記事は、納品する成果物ではなく個人用ツールについての記録であることが明示されている。著者は、記述した試行錯誤の大半は 3 月ごろに行ったものであり、顧客向けに作るコードについては、記事で述べたよりも慎重な水準でハーネスとテストケースを構築していると記している。記事は読者に、Kent Beck による TDD の定番の定義の日本語訳と、同じプロンプト手法をコードレビューに応用した別の記事を紹介しているが、そのどちらの主張も改めて述べてはいない。
著者が最後に述べる一般化は、今や労力がどこにかかるかについてである。作ろうとしているもののドメイン知識が重要なのは、それによって最初の段階で良いテストリストを正確に作れるからであり、それこそがエージェントの立ち上がりを速くする。ターミナルだけで完結するツールは、この方法で作る価値がとりわけ大きいとされる。エンドツーエンドの実行、画像の扱い、Office ファイルの生成といった、人間向けでトークンを多く消費する手順をエージェントが省けるからである。