kaggle 実験管理術 v2.0 w/ claude code(レポジトリ公開)
Kaggle Advent Calendar 2025! 🎄
本記事は、「Kaggle Advent Calendar 2025」の14日目の記事です。
今回は、コーディングAI前提でkaggleの実験管理を v2.0 にアップデートした話です。
勝ち筋というより、初動〜実験導入の再現性を上げるための管理の差分に絞ってまとめます。🧰
*ただし、まだまだ最適化の余地はあると思ってますm(__)m
この記事でわかること
- 私がコーディングAI前提で、実験管理が破綻したところ
- v2.0で入れた「テンプレ+ルール固定」(/init・survey分離・フォルダ設計・SESSION_NOTES)
- コーディングAI前提にしたメリット
テンプレレポジトリはこちら!🔗
はじめに
今年のはじめ、2025年3月に出版された「Kaggle 実験管理術」の書籍に、インタビュー枠でコメントを掲載いただきました 🙏
ただ、掲載当時の運用(v1.0)は コーディングAI前提じゃないので、最近の作業スタイルに寄せると課題が目立ってきました。
- Claude Code などで変更スピードが速い
- 並列で実験を回す
- スマホから指示して実験を走らせる 📱
これが混ざると、わりと高確率でこうなります。
数日後「このスコア、何やったんだっけ?」 😇
そこで改善として、Kaggleコンペ用の実験管理テンプレ+運用ルールを整備しました。本記事ではその内容をまとめます。
v1.0の実験管理(当時の前提)
書籍に掲載いただいた当時(v1.0)の自分の実験管理は、かなりシンプルでした。
- 学習ログや評価結果は 基本すべてテキストファイルとして保存(stdout / stderr、スコア、設定など)
- 実験は
workspace/expXXX/のように 実験フォルダを増やして管理 - 実験全体のメモや判断は OneNote にまとめる
当時はこの形で回っていたんですが、コーディングAI前提の作業スタイルに移行すると、このままだと破綻しやすくなりました。
v1.0で顕在化した課題(AI前提で崩れるポイント)
1) 変更が速すぎて「何をしたか」を忘れる ⚡
AI に指示すると、修正→実行→次の修正が短いサイクルで回ります。
結果として数時間後には「何を変えたか」「なぜ変えたか」「どの条件で回したか」が曖昧になりやすいです。
スマホから指示して実験を回す運用が入ると、作業の連続性が切れてさらに忘れやすくなります。
2) 記録が散って再現性が落ちる 🧩
重要情報が、チャット、ターミナル履歴、OneNote、実験フォルダのログに分散しがちです。
スコアは残っているのに「説明できない」「再現できない」という状態が増えました。
3) 実験の境界が溶ける 🫠
対話が続くほど、どこからどこまでが1つの実験なのかが曖昧になります。
結果比較・振り返りのコストが跳ね上がり、「実験しているのに進んでいない」状態になりやすいです。
4) セッションが途切れると復帰しづらい 🧠
複数ウィンドウ・複数実験を並列で回すと、PC再起動などでコンテキストが飛ぶと「どの状態から再開すべきか」をClaude Codeさんが思い出すコストが高いです。
v2.0として何を変えたか(テンプレ+ルール)
ここからが本題です。v2.0では「使い方」より先に 仕組みとルールを固定しました。
ざっくり言うと、“人間が覚えない前提”に寄せる方向です。✅
1) /init でルールを読み込ませる(前提の固定)📌
AI を使うほど、暗黙の前提がズレていきます。
そこで、作業開始時に /init で “指示書” を読み込ませる運用にしました。
意図はシンプルで、AI に毎回これを明示します。
- 「どこで何をするか」
- 「何を残すか」
これだけで、ファイルの増殖や配置のブレが減りました。
2) “初動の調査”を survey に寄せて、実験と分離する 🔍
テンプレの中心は、調査を survey/ に集約して、実験を workspace/ に閉じ込めることです。
-
survey/:EDA、論文、類似コンペ、discussion定点観測など「調査」 -
workspace/:コード変更と実験「実装・検証」
これにより、調査の成果物が実験ログに埋もれなくなって、コンペ序盤の迷子率が下がりました。
3) 実験フォルダを「Claude用」と「人間用」で分ける 🧑💻🤖
AIの速度と人間の思考速度が合わないのが根本なので、最初から役割を分けました。
- Claude用:
workspace/expA00_...(高速に回す。実験境界の固定が目的) - 人間用:
exp001_...(判断・検討・方針のメモを残す)
AIが得意なのは「何が起きたか」の整理です。
人間が残したいのは「なぜそう判断したか」です。ここを混ぜないようにしました。
4) SESSION_NOTES.md を必須にする(状態の外部固定)📝
各実験フォルダに SESSION_NOTES.md を必須化しました。
狙いは「丁寧な日誌」ではなく、再開できる状態の固定です。
最低限、これがあれば復帰できます。
- 今日の目的
- 変更点
- 実行コマンド
- 結果(CV / LB)
- 次やること
スマホから指示した実験ほど忘れやすいので、ここがあるだけで救われることが多いです。
差分として「何がどう良くなった?」🎯
1) “思い出す作業”が減った!
v1.0は「自分が覚えている」前提が強かったです。
v2.0は「覚えない」前提に変えました。
結果、再開時にログやチャットを掘る時間が減りました。
2) 実験境界が明確になって、比較しやすくなった!
フォルダ命名と SESSION_NOTES の必須化で、どこまでが同一実験かが明確になりました。
比較がしやすい=実験のやり直しが減りました。
3) 調査が積み上がるようになった!
survey/ に寄せたことで、EDAや論文・類似コンペ調査が「使い捨て」になりにくいです。
次のコンペでも再利用できる粒度で残るようになりました。
4) AIに寄せた部分と、人間の判断が分離できた!
AIは「作業」を加速できますが、「意思決定」まで委ねると雑になりやすいです。
役割分担を設計で強制したことで、AIの高速化のメリットを取りつつ、破綻を減らせました。
おわりに(正直な話)😌
実験管理が整っても、実験・検討の質そのものが十分かと言われると、正直まだ足りていない自覚があります。仕事と両立は大変です(言い訳)。
勝つための魔法ではないですが、負け筋を減らすための土台にはなると思ってます。
みんなの実験管理術もオシエテください!✨
Discussion