修正を依頼する
修正依頼の3点セット
第1章で「対象と変更を分けて書く」を学びました。実際に既存コードを直させるときは、もう1つ足します。
プレーンテキスト
対象 どのファイルの、どの関数を
現状 いまどうなっているか
変更後 どうなってほしいか真ん中の現状が新しく増えた要素です。これがあると、AI は「自分が読んだコード」と「依頼者が思っているコード」が同じかどうかを突き合わせられます。ズレていれば、書き換える前に指摘が返ってきます。
プレーンテキスト
悪い kakeibo.py の合計を直して
良い kakeibo.py の sumAmount は、いま全部の支出を足しています。
これを、金額が0より大きいものだけ足すように変えてください。変えてはいけないものを書く
修正依頼でいちばん事故が多いのは、頼んでいない部分が一緒に変わることです。
プレーンテキスト
関数名は変えないでください。引数の順番も変えないでください。この一文が無いと、AI は良かれと思って名前を英語らしく整えたり、引数を辞書にまとめたりします。それ自体は改善かもしれませんが、その関数を呼んでいる他の場所が全部壊れます。
呼び出し側から見える形は固定する。 これを毎回書くと決めておくと安全です。
境界の扱いを決める
条件を足す依頼では、境界をどちらに入れるかを必ず書きます。
プレーンテキスト
曖昧 マイナスを除いて
明確 0以下を除いて。0ちょうども除いてください「0より大きい」と「0以上」は1文字違いですが、結果は変わります。書かなければ AI が決めます。決められた側は、テストで落ちて初めて気づきます。
1回の依頼で1つ変える
プレーンテキスト
悪い 合計をマイナス除外にして、ついでに表示も整えて、関数名も分かりやすくして
良い 合計をマイナス除外にしてください3つ頼むと、差分が3つ混ざって返ってきます。1つ目は正しく、2つ目が間違っていたとき、部分的に採用する手段がありません。全部やり直すことになります。
1依頼1変更にすると、差分が小さくなり、判断が速くなり、失敗しても捨てる量が少なくて済みます。次の回では、その差分をどう読むかを扱います。
完成条件
- 触ってよいのは kakeibo.py だけです
- 0ちょうどと、0より小さい金額は合計に入れません
- sumAmount 関数の戻り値で採点します