動きのしくみ
行動ログが流れている
依頼を出すと、返事が来るまでのあいだに画面へ短い行が流れます。これが行動ログです。エージェントが「いま何をしたか」を1行ずつ残していきます。
プレーンテキスト
Read kakeibo.py
Read report.py
Edit kakeibo.py
Bash python kakeibo.py読んだファイル、書き換えたファイル、走らせたコマンド。全部ここに出ます。読み飛ばさないでください。 最後の返事より、この途中経過のほうが情報量が多いことがよくあります。
ログから分かる3つのこと
ログを見て、次の3つを毎回確かめます。
プレーンテキスト
読んだ範囲 狙ったファイルを開いたか。見当違いを探し回っていないか
書いた範囲 頼んでいないファイルまで Edit されていないか
実行の有無 直したあと、動かして確かめたかたとえば「kakeibo.py の合計を直して」と頼んだのに、ログに Edit report.py が混ざっていたら、その時点で止めます。その1行を見逃すと、あとで原因不明の不具合になります。
読んでいないものは直せない
ありがちな失敗は、エージェントが対象を読まずに書き換えることです。
プレーンテキスト
良い Read kakeibo.py → Edit kakeibo.py
悪い Edit kakeibo.py (読まずに書いている)読まずに書いたコードは、既存の書き方を無視した推測です。動くこともありますが、既存の関数と重複したり、命名がバラバラになったりします。
ログに Read が無いまま Edit が来たら、一度戻して「まず該当ファイルを読んでから直してください」と頼み直すのが早道です。
実行の結果まで見る
エージェントが python kakeibo.py を走らせたなら、その出力もログに出ます。ここでエラーが出ているのに、返事のほうは「修正しました」となっていることがあります。
返事の文章とログの事実が食い違ったら、ログを信じてください。 文章は書けてしまいますが、実行結果は書き換えられません。
追えるようにしておく責任
作業を1回で大量に頼むと、ログが数十行になって追えなくなります。追えない量を頼んだのはこちら側の問題です。
1回の依頼は、ログを目で追いきれる量にする。 これが、この先ずっと効いてくる目安です。
演習で確かめること
下の演習では、おこづかい帳の記録からカテゴリ別の合計を出す関数を直させます。返ってきたコードを読む前に、まずログでどのファイルを読み書きしたかを追ってみてください。
完成条件
- 触ってよいのは kakeibo.py だけです
- 該当するカテゴリが1件もないときは 0 を返します
- sumByCategory 関数の戻り値で採点します