Python設定管理は.yamlで変わる|ChatGPTで学んだ再現性&共有性アップ術

AI活用術

📝「設定?コードに直接書けばいいじゃん」と思っていた頃の自分へ

私は最初、yamlファイルの存在すら知りませんでした

パラメータ設定も、ファイルパスも、全部 .py ファイルの先頭に直書き。

  • 閾値を変えるときはそのまま上書き
  • 結果を残すときはファイルごと複製(「ver2」「ver3_final2」みたいな地獄)
  • 他の人が見ても、どこを変えれば動くのかわからない

──でも「動いてるからOKでしょ?」という気持ちで、ずっとやり続けていました。

ある日、レビューでこう言われました。

「前回のパラメータ、どこにありますか?」
「この数値、どの処理に影響してるんですか?」

……いや、それ、.py に書いたやつだけど、どのバージョンだったっけ?

しかも、そのコードを触ったのは自分じゃない未来の誰か──
**「これ、もう誰にも説明できないやつだ」**と気づいた瞬間でした。

📌 この記事で得られること

この記事は、Pythonで開発をしていてこんなモヤモヤに悩んだ経験のあるエンジニアに向けて書いています:

  • パラメータを .py にベタ書きしていて変更のたびに開いて直してる
  • 記録を残しておらず、前回の実行条件が思い出せない
  • コードを人に渡すたびに「どこ直せば動くの?」と聞かれる
  • 引き継ぎ資料を書くたびに憂うつになる

──はい、全部、昔の私です。

この記事では、そんな状況を**「設定ファイル(yaml)で一発解決」**できた話と、ChatGPTを活用して理解を深めていったプロセスを、リアルな開発現場のエピソードとともにお届けします。

📂 yamlも活用して全体の再現性・保守性を良くしたい方は👇

ChatGPTとの壁打ちで知った「設定ファイルという世界」

困った私は、とりあえずChatGPTにこんな相談をしました。

「パラメータを変更したいんですが、毎回コード開いて書き換えるのが面倒です。もっと良いやり方ってありますか?」

するとChatGPTから、こんな構成が提案されたんです👇

「設定は外部ファイル(例:yaml)に分離しておくと、コードの再利用性と説明性が格段に上がります」

これが、私とyamlファイルの出会いでした。

🤔 そもそも「yamlファイル」って何?

ChatGPTに素直に聞いてみました。

Hirokichi
Hirokichi

「yamlファイルってなんですか?使うと何がいいんですか?」

🤖 ChatGPT:

YAML(ヤムル)は、項目と値を簡潔に書ける設定ファイル形式です。
Pythonと相性が良く、人間が読みやすく、機械も扱いやすいのが特徴です。
例えば Excel のように “項目と値のセット” を簡潔に管理できます。

要は──
処理内容そのものではなく、「調整が必要な設定だけをまとめておく」のがyamlの役割なんですね。

🔧 Pythonでの使い方も聞いてみた

Hirokichi
Hirokichi

「じゃあ、そのyamlをPythonで使うにはどうすれば?」

🤖 ChatGPT:

専用のライブラリ(PyYAMLなど)で読み込んで、辞書形式で使えます。
つまり config["threshold"] みたいに、普通の辞書と同じ感覚で取り出せます。

サンプルコードも教えてもらいました:

# config_loader.py
import yaml

def load_config(path="config.yaml"):
    with open(path, "r", encoding="utf-8") as file:
        return yaml.safe_load(file)
# main.py
from config_loader import load_config
config = load_config()

threshold = config["threshold"]
print(f"しきい値は {threshold}")

──これ、想像以上に便利でした。

最初は「yamlって難しそう」と思ってたけど、辞書みたいに呼び出すだけなので違和感なし。 ChatGPTに「こういう構成でいい?」と聞きながら進められたのも安心ポイントでした。。

ChatGPTに教わった「設定って人に伝えるためにあるんですよ」

設定ファイルを外に出す理由は、技術的な都合だけじゃありません。

「設定を外に出しておけば、“どこをいじれば動くか”が明確になります」
「他の人に渡すときも、変更点が一目瞭然です」

──たしかに。
いくらコードが動いていても、「どう動かしていたのか」が見えなければ、実務では“使えないコード”なんですよね。

「ここが設定ファイルです」と言えるだけで、

  • 上司にも説明しやすく
  • チームでも迷わず共有できて
  • 自分が1ヶ月後に触っても理解できる

そんな未来が待っていました。

📂 ymalで設定したパラメータのログの取り方を知りたい方は👇

ChatGPTから学んだ“3つの設定ルール”

実際に使ってみて、「これはやってよかった」と思った設定ルールはこちら:

① ベタ書きは卒業!設定はすべて config.yaml

パラメータやパスは.pyに書かず、設定ファイルに全部集約。

② 読み込み関数は config_loader.py に切り出す

どのプロジェクトでも共通で使えるよう、読み込み処理は再利用前提で関数化。

config["key"] 形式で明示的に呼び出す

タブ補完が効くし、見落とし防止にもなる。

まとめ:「yamlを使う」とコードの視野が広がる

最初は知らなかった。
昔の私は、**「とりあえず動けばOK」**でした。

でも今は、**「誰が読んでも伝わる構成」**が、開発品質の根幹だと感じています。

yamlを使って設定を外出しすることで:

  • 設定変更のミスが減り
  • 再現性が上がり
  • チーム共有がラクになり
  • 「あとから困る」が激減しました

ChatGPTとのやりとりを通じて学べたこの考え方は、私の開発スタイルを確実に進化させてくれました。

コメント

タイトルとURLをコピーしました