2026年は「アウトプット量を増やしたい」と考え、まずは手始めにこの記事を書きました。
年末年始の休暇中にPCの中身を整理していたのですが、その過程で改めて痛感したのが、開発環境構築の難しさです。
個人開発やAI実験を始めると、最初につまずくのはだいたいここで、場当たり的な環境のままだと、実験の再現性が失われ、学びも資産も積み上がりにくくなってしまいます。
本記事では、初心者が最初につまずきやすいポイントを回避しつつ、実務でも通用する開発基盤を、実例付きで紹介します。
1. 背景:実験の「やりっぱなし」を卒業したい
個人開発やAI実験を繰り返していると、次のような問題に直面します。
- 環境の断片化:実験ごとにライブラリ構成がバラバラで、数日後には動かなくなる
- 知見の散逸:実験の意図や結果を忘れ、同じ失敗を繰り返す
- 構築コスト:新しいことを試すたびにディレクトリ作成や venv 設定が面倒
これらを解決し、「学びが確実に積み上がる仕組み」を構築しました。
2. 実現したゴール
- 実験の完全再現:1年後でも同じ環境を即座に再現
- ログの資産化:コードと「思考ログ」を必ずセットで保存
- 構築コストの極小化:コマンド一つで開発環境が立ち上がる
3. 開発基盤の設計思想
3.1 ディレクトリ設計:すべての起点を統一
[WORKSPACE_ROOT]
├─ 10_learning
├─ 20_projects
│ └─ apps
│ └─ ai_tools
│ ├─ playground
│ ├─ prompts
│ ├─ experiments
│ │ └─ 20260114_rag_eval
│ │ ├─ src
│ │ ├─ requirements.txt
│ │ ├─ README.md
│ │ └─ 20260114_rag_eval.md
│ └─ docs
├─ 60_tools
│ └─ templates
│ └─ python_project
└─ 99_archive
3.2 Python 実験テンプレート
python_project
├─ src
│ └─ main.py
├─ .venv
├─ requirements.txt
└─ README.md
4. 自動化の実装:new-exp
4.1 処理フロー
4.2 スクリプト例
function new-exp($name) {
$date = Get-Date -Format "yyyyMMdd"
$base = "[YOUR_WORKSPACE_ROOT_PATH]"
$tpl = "$base\60_tools\templates\python_project"
$dst = "$base\20_projects\apps\ai_tools\experiments\${date}_$name"
robocopy $tpl $dst /E /XD .venv __pycache__ .git /R:1 /W:1 /XJ | Out-Null
Push-Location $dst
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
Write-Host "New experiment ready: $dst" -ForegroundColor Cyan
}
5. 運用ルールと環境維持
5.1 venv の徹底
- 一実験一 venv
- .venv は Git 管理外
- 再現性は
requirements.txtで担保
5.2 .gitignore
.venv/
__pycache__/
*.pyc
.env
node_modules/
.vscode/
6. 導入効果
- 実験開始まで 1分以内
- PC移行が容易
- 実験の迷子が消滅
7. まとめ
個人開発において、環境構築を自動化し、ログを構造化することは「未来の自分への投資」です。
一度仕組みを整えてしまえば、あとは環境トラブルに悩まされることなく、クリエイティブな試行錯誤に集中できます。
なお、本記事の構成ではあえて Docker を採用していません。
これは「初心者がつまずきにくい開発基盤」を最優先した結果であり、
- 小規模実験では
venvの方が軽量で速いこと - Windows + Docker Desktop は初学者が詰まりやすいこと
- 自身も以前 Docker を導入しながら活用しきれなかった経験があること
を踏まえ、まずは“使い倒せるシンプルな基盤”を優先しました。
ただし、チーム開発や API+DB のような複数サービス構成、Linux/GPU 環境が必要になった段階では、Docker を段階的に導入する想定です。
今回の設計は後から Docker を追加しやすい構造になっています。
この記事が、これから個人開発を始めようとしている方の参考になれば幸いです。
8. 参考文献・ベストプラクティス
本構成は、実務・研究・個人開発で広く共有されている設計思想・運用プラクティスを、自分の開発環境に落とし込んだものです。
-
The Pragmatic Programmer
https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/
ソフトウェア設計・責務分離・実務エンジニアリングの基本思想 -
Reproducible Research
https://www.nature.com/articles/d41586-020-02462-7
実験の再現性と研究ログの重要性 -
Python venv documentation
https://docs.python.org/3/library/venv.html
Python公式の仮想環境運用ガイド -
Pro Git
https://git-scm.com/book/en/v2
Gitの基本〜実践的運用