会員登録すると
学習することができます。
会員登録する(無料)
学習することができます。
登録済みの方はこちら
ログイン
学ぶ目的
Makefile は「操作できることの一覧」になる
AIエージェントにプロジェクトを触らせるとき、Makefile があると話が早くなります。make test make build make clean と並んでいれば、何ができるのかが名前で分かるからです。
自然言語で「テストを流して」と頼まれたエージェントは、フレームワークを推測してコマンドを組み立てます。Makefile があれば推測が要りません。入口を固定しておくと、指示が短くなり、間違いも減ります。
固定する価値があるもの
- よく使う操作(テスト、ビルド、片付け、確認)
- 手順が長いもの(順番を間違えると壊れるもの)
- 環境ごとに違うもの(開発と本番でコマンドが違う)
逆に、1回しかやらない作業は固定しません。その場でAIに書かせて、終わったら捨てます。
渡してはいけないもの
エージェントが実行できる場所に、次のものを置かないでください。
| 置かないもの | 理由 |
|---|---|
| 取り消せない削除 |
rm -rf を含むターゲットは、引数を間違えたときに戻せない |
| 本番への反映 | 確認を挟まずに実行されうる |
| 認証情報そのもの | Makefile はリポジトリに入る。トークンを直接書かない |
どうしても必要なら、人間の確認を挟む形にします。
レビューの順番(この講座のまとめ)
AIが書いたシェル/Makefileを受け取ったら、この順で見ます。
-
set -euo pipefailが入っているか - 変数は引用符で囲まれているか
- 消す操作の対象が、空になりうる変数で組み立てられていないか
-
.PHONYが必要なターゲットに付いているか - 依存関係は正しいか(入力が変わったときだけ作り直すか)
- 2回実行しても壊れないか
最後に
AIはコマンドを書きます。どれを残し、どれを捨て、どこに人間の確認を挟むかを決めるのは、読める人間だけです。 この講座で扱ったのは、その判断のための地図でした。
このレクチャーで学ぶこと
- Makefileがエージェントへの入口になる理由
- 固定するものと、しないもの
- 渡してはいけない操作
質問
まだ質問は投稿されていません。
質問投稿
ログイン後に質問の投稿ができます。