1ヶ月前の僕は、こう書いていた。
「いい感じのダッシュボードを作って」
今の僕は、こう書く。
「四半期ごとの採用数を棒グラフで表示するダッシュボード。横軸は月、縦軸は人数。フィルターは部署・職種・雇用形態の3つ。データソースはSupabaseのcandidatesテーブルからstatus=‘hired’のレコードを集計。レスポンシブ対応、モバイルでは棒グラフを横スクロールに。」
この差が、すべてだ。
変化は段階的に起きた。
最初の頃、僕のプロンプトはひどいものだった。「かっこいいページを作って」「もうちょっと良くして」「なんか違う」。クロは根気強く聞き返してくれた。
「誰が、いつ、何の目的で」。
この3つの問いを、クロは何十回と僕に投げかけた。そのたびに僕は考えることを強制された。ぼんやりとした「こうしたい」を、具体的な仕様に変換する作業。それがどれだけ難しいか、人事時代には知らなかった。
[v1] “レポート画面を作って” [v2] “採用レポートを作って。グラフがほしい” [v3] “採用数の月次推移を折れ線グラフで。部署フィルター付き” [v4] “candidatesテーブルからhired_atの月別集計。部署・職種でフィルタ可能。Rechartsで折れ線+棒の複合グラフ。ツールチップに詳細数値表示”
v1からv4への進化。これが1ヶ月で起きた。
人事部長として経営会議に出ていたとき、「で、何がどうなったの?」と社長に聞き返されるのが怖かった。曖昧な報告をすると、すかさず突っ込まれる。数字は?根拠は?期限は?
クロとの対話は、あの経営会議と似ていた。曖昧なことを言うと、必ず具体化を求められる。でもクロには怒りがない。ただ淡々と、「もう少し具体的に」と聞いてくる。
ある日、ハッチに自分のプロンプトを見せた。
ハッチは少し考えて、こう言った。
逆方向。コードから入るんじゃなく、要件から入る。
PMの言語を学んでから、プロダクトの質が明らかに変わった。手戻りが激減した。
以前は「作って → 違う → 直して → まだ違う → もう一回」のループが延々と続いていた。今は最初のプロンプトで8割正しいものが出てくる。残り2割の調整も、「ここのパディングを16pxから24pxに」のような具体的な指示で済む。
Feature: [機能名]
User Story
- As a [ユーザー種別], I want to [行動] so that [目的]
Acceptance Criteria
- 条件1
- 条件2
Technical Notes
- データソース:
- UI ライブラリ:
- パフォーマンス要件:
自分用のテンプレートまで作った。人事時代に使っていた評価シートのテンプレートと、やっていることは同じだ。フォーマットがあれば、漏れがなくなる。
クロにそう言われて、少し誇らしかった。
AIに褒められて嬉しいのか? そうだ。嬉しい。だって2ヶ月前は「もう少し具体的に」と毎回言われていたのだから。
PMの言語を身につけたことで、もう1つ変わったことがある。
エンジニアと話せるようになった。
人事時代、開発部門のエンジニアたちとの会話にはいつも壁があった。「技術的なことはよくわからないので」と前置きして、曖昧な要望を伝える。エンジニアは困惑した顔をして「具体的にどういうことですか?」と聞き返す。お互いにフラストレーションが溜まる。
今は違う。APIのエンドポイント。データベースのスキーマ。認証フロー。これらの言葉を使って会話できる。全部を理解しているわけじゃない。でも「何を聞けばいいか」がわかる。
それだけで、世界が全然違う。