開発環境現状確認の記事 [1, 2, 3] を読んで面白いなと思ったので、自身の研究環境の現状確認をしてみます。
前提
- 機械学習・人工知能分野の研究をしています。
- 手元のPCは macOS で、実験用のサーバは Ubuntu です。
- 契約しているAIは ChatGPT Business です。
- 入力したデータがモデルの学習に使われないプランです。
サーベイ
- 研究テーマを決めるための幅広いサーベイと、研究テーマを決めた後に詳しく調べるためのサーベイをしています。
- 論文を読む時は一旦 ChatGPT に丸投げして要約してもらいます。要約を読んで面白いなと思ったら、気になることを質問しながらちゃんと読んでいきます。
- 論文は背景知識や式の導出が記載されていないことが多いので、AIに解説してもらったほうが手早く読めると感じています。
- 論文の管理は Apple Books を利用しています。
テーマ設定
- サーベイを通して面白そうなテーマが浮かんだら、ChatGPT に相談しながら具体的に検討していきます。
- この過程で考えた数式は LaTeX のGUIエディタである LyX にメモしています。
- 論文を書く時は、数式はこのメモからコピペします。
論文執筆
- エディタは vscode を用いています。拡張機能は誤字防止用に Code Spell Checker をインストールしています。
- バージョン管理は git で行っており、GitHub Enterprise 上にリポジトリを作成しています。
- このリポジトリは Overleaf と連携させており、共著者の方からコメントを頂く時は Overleaf に書いてもらっています。
- 日本語で書いて ChatGPT を使って英訳しています。
- 以前は有料版の DeepL を使っていましたが、最近は ChatGPT をメインで使っています。
- また、定期的に Codex CLI で論文全体を読み込んで、改善点を指摘してもらっています。
スライド作成
- PowerPoint です。数式を貼る時は LaTeXiT で LaTeX で書いた数式をPDF化してから画像として貼っています。
- さすがにもっと良い方法がありそう。
査読
- 2026年1月時点では、ほとんどの会議で論文の査読にAIを使うことが禁じられているので、頑張って読んでレビューを書いています。
- 年30本くらいは査読をしているので正直しんどいです。
- ICML2026ではレビューにAIを使うことを許可できる ようになるようなので、状況は変わっていきそうです。
- 機械学習分野は投稿数が指数的に増加しており、査読者の確保に苦労しているので、部分的にAIの利用が緩和されると予想しています。
- 個人的には投稿論文を読み込むのにはAIを使っても良いのかなと思います。レビュー自体をAIに書かせるのには反対です。
コーディング
- Python の環境構築には uv を利用しています。
- 必要なパッケージと iPython を uv 経由でインストールしています。
- macOS では homebrew 経由で ruff、isort、mypy をインストールしています。
- isort は ruff があるのでいらない気もします。
- mypy はちょっと遅いので ty などに移行するかもしれません。
- システムの Python を汚染したくないので、pyenv 経由で miniforge をインストールしています。
- macOS では基本的には使っていないです。実験サーバ上ではパッケージマネージャとして利用しています (後述)。
- IDEには PyCharm を利用しています。簡単なコードは vscode で書くこともあります。
- ターミナルエミュレータは iTerm2 を利用しています。
- シェルは zsh で、oh-my-zsh といくつかのプラグイン (git、zsh-autosuggestions、zsh-completions、zsh-syntax-highlighting) を導入しています。また、peco で履歴検索の設定をしています。
- 論文と同様に、GitHub Enterprise 上にリポジトリを作成してバージョン管理を行っています。
- 基本的には ChatGPT に聞きながらコーディングしています。まだコーディングエージェントを使いこなせていません。
- 特に便利だなと思ったのは、リバッタル時にレビュアーに「この手法と比較しろ!」と言われたときに、ChatGPT に実装してもらえることです。かなり楽になりました。
- Git のクライアントは GitHub Desktop や gh を使っています。vscode の git extension を使うこともあります。コミット時のコメントの自動生成が便利です。
実験環境
- 社内のGPUクラスタか産総研の ABCI を利用しています。
- 基本的にroot権限がないので、root権限のいらないパッケージマネージャとして conda を使っています。
- Python の環境構築には macOS と同様に uv を利用しています。
- 以前はコンテナを利用していましたが、uv のほうが手軽にデバッグ出来るので移行しました。
日記
- 研究日誌というほど大げさなものではないですが、入社してから日記を欠かさず書いています。
- 元々は出張の多いメンターの方に進捗を共有するために始めたのですが、習慣となってしまい惰性で続けています。
- 以前は社内で日記を公開する文化があってみんなで読みあっていたのですが、すっかり廃れてしまいました。
- 仕事のことは全て書くようにしています。プライベートのことも多少書いています。
- 最近はコーディングエージェントがあるので、Codex CLI などにフォルダ全体を読み込ませて、要約させたりしています。
- とにかく文章として残しておくと役に立つものだなと思いました。
まとめ
- 今年はコーディングエージェントを使いこなせるようになりたいです。