計画させてから実行
書かせる前に方針を聞く
ここまでで、要件を書き、条件を書き、タスクを分けました。それでも思っていたものと違う実装が返ることがあります。あなたと AI の頭の中が同じかどうかを、確かめていないからです。
方法は簡単です。コードを書かせる前に、方針だけ出させます。
プレーンテキスト
まだコードは書かないでください。どう実装するつもりか、方針を3行で説明してください。返ってきた3行を読めば、噛み合っているかどうかが分かります。ずれていたら、そこで直します。コードが1行も書かれていない段階なので、直すコストはほぼゼロです。
計画で見えること
計画には、依頼文からは見えなかった判断が現れます。
プレーンテキスト
受講者の依頼 日付ごとに支出をまとめる関数を作って
AI の計画 1 records をループして date をキーにする
2 同じ日付があれば金額を足す
3 日付の昇順に並べた辞書を返す3行目で「並べ替えるつもりだ」と分かります。あなたが並び順を気にしていなかったなら、ここで決められます。逆に、この計画に日付が無い月の扱いが書かれていなければ、そこが抜けていると気づけます。
計画は、抜けを見つけるための道具です。
合意してから着手させる
計画に納得したら、そのまま実装に進ませます。
プレーンテキスト
その方針で進めてください。ただし3つ目だけ、昇順ではなく降順にしてください。計画を1度通しているので、指示は差分だけで済みます。全部を書き直す必要はありません。
納得できなければ、計画のやり直しを頼みます。ここで妥協して実装させると、結局あとで書き直しになります。
いつ計画を挟むか
毎回やる必要はありません。目安は次のとおりです。
プレーンテキスト
挟む 新しく関数を作る、複数ファイルに触る、設計の選択肢が複数ある
挟まない 文言を1つ変える、明らかに1行で済む小さな変更で計画を挟むと、往復が増えるだけで得がありません。やり直しが痛い依頼にだけ挟むと考えてください。
練習
今回は日付ごとの集計です。並び順という、計画を見ないと気づきにくい判断が含まれています。まず方針を出させ、並び順を確認してから実装させてください。
完成条件
- 触ってよいのは kakeibo.py だけです
- 最初の1回は方針だけ出させ、コードを書かせないでください
- 日付ごとの合計金額を、日付の昇順に並べたリストで返します
- 1件は日付と合計金額の2要素リストです