0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

超快適、AI駆動×Pythonのオススメ開発環境

Posted at

【ESTYLE media用】技術ブログアイキャッチ 編集用.png

記事の要点

  • PythonはAIによるコーディングとの相性がよく、ClineやAppMapのようなAIツールを活用するのがオススメ。要件定義や開発、コード理解の速度を何倍も速くすることができる。
  • GitHub Copilot定額プランのAPIキーを使うことで、Clineの課金体系をトークン消費量課金ではなく、月額課金にする裏技がある。
  • uvパッケージマネージャーを使い、高速でPython環境を構築することが可能。コードの一貫性と可読性向上には、VScodeの拡張機能Ruffを使うのがモダンなアプローチ。

    はじめに

    株式会社エスタイルのハッカーです。

    昨今、AIによるコード生成能力やアプリケーション開発機能が飛躍的に進化しています。特に、AIアプリケーションの開発で用いられる「Python」は生成AIのコーディングの得意分野であり、開発者向けの支援ツールや拡張機能も充実しています。

    そこで、本記事ではAIアプリケーション開発に実務で取り組んでいる筆者の経験を踏まえ、効率的なPython開発を行うためのオススメ環境設定や拡張ツールなどについてまとめてみました。
    生成AIを活用した開発環境を用い、たった15分で開発したAIチャットボットアプリケーションです。お笑い芸人ゴー☆ジャスさんの国名ネタに対し、AIがオチを予測して回答します。

    開発環境の概説

    開発環境とひとえに言っても様々です。

    アプリケーションの構築からデプロイまでに必要となる開発環境について軽く説明します。

    1. 統合開発環境(IDE)・エディタ

    プログラムのコーディングを行うための環境です。Visual Studio Code (VScode) やCursor、Google Colab などがあります。

    2. パッケージ管理・仮想環境

    Pythonのバージョンやパッケージのバージョンを管理するための環境です。pipやconda、uvなどがあります。

    生成AIを使いコーディングを行う際には、Pythonの正しいバージョンやパッケージ依存関係を情報としてしっかりと渡してあげることが重要です。

    3. 主要ライブラリ・フレームワーク

    Pythonではパッケージをインポートすることで、便利な関数やクラスなどのコード群を手軽に利用することができます。開発したいアプリケーションによって必要になってくるパッケージやフレームワークは異なります。

    4. クラウド・計算環境

    アプリケーションの実行処理や機械学習モデルなどを回すための実行環境。開発規模や予算、オンプレミス環境との統合などを考慮して選択します。

    Amazon Web Service(AWS)、Google Cloud Platform(GCP)、Azureなどがあります。生成AIチャットボット開発のような用途では、実行サーバーを用意するのではなく、サーバーレスサービス(AWSではlambda、AzureではAzure Functionsとして提供)を活用することもオススメです。

    5. バージョン管理・協業

    開発コードのバージョン管理や複数開発者での協業を行うための環境。代表的なバージョン管理サービスには、開発者間のコミュニケーション機能に優れるGitHubや開発と運用(DevOps)の機能をオールインワンに提供するGitLabなどがあります。

    生成AI開発では、誤作動によって破壊的・不可逆的なコード改変が行われてしまうことも少なくないので、こまめにバージョンを保存し、いつでも戻れる状態にしておくことが重要です。

    6. デプロイ・本番環境

    開発コードのデプロイや継続的インテグレーション(CI/CD)を行うための環境。

    コードのバージョン管理にGitHubを利用している場合はGitHub Actionsを利用することでテストやデプロイを簡単に自動化することが可能です。

    また、HerokuのようなPlatform as a Service(PaaS)を活用して、より簡単にPythonアプリケーションをデプロイできるサービスもあります。

    オススメ開発環境

    開発したいプロダクトやプロジェクトによらず、汎用的にオススメできるPython開発環境について説明します。

    1. 統合開発環境(IDE)・エディタについて

    Python×生成AI開発におけるオススメのエディタ環境は「VScode×AI拡張機能」です。VScodeはユーザー数が非常に多く、拡張機能(Extensions)という形で、AI開発に適した様々な機能が提供されています。 VScodeはAI拡張機能が豊富でGUIも非常に洗練されています。

    AI駆動開発を行う場合に、VScodeで特にオススメな拡張機能をいくつか紹介します。

    ①GitHub Copilot(コード補完):

    OpenAIとMicrosoftが共同開発した、生成AIによるコーディング支援機能です。

    チャットボットでコードの提案を指示するだけでなく、開発コード内でリアルタイムにコードを補完する機能が非常に便利で、VScodeのインテリセンス感覚で利用ができます。利用にはGitHubアカウントの開設が必要です。

    無料プランでも使用できるものの、回数制限があったり、後述するclineとの連携利用が非常に強力だったりするため、予算に余裕がある場合はProプランの利用も検討してみてください。
    Github Copilotは、コメントアウトの内容を理解して適切なコードを提案します。
    コードに「/* 接続中は緑色 */」というコメントを記述しただけでCopilotがその指示を理解し、次の行で緑色のカラーコードを提案しています。

    ②Cline(コーディングエージェント):
    ChatGPTやClaude、GeminiのAPIキーを登録することで、自然言語によるゼロベースからのアプリケーション開発(バイブコーディング)ができる拡張機能です。
    Clineには、システム実装の計画を立てる「Planモード」と、AIにコード実装を依頼する「Actモード」という2つのモードがあり、切り替えて使用することが可能です。

    コード生成のブレインとなる大規模言語モデル(LLM)は様々なモデルから選択可能で、各モデルのトークン使用分だけ従量課金される仕組みになっています。

    生成AIによるバイブコーディングは従量課金によるコストの膨らみすぎが心配になりがちだと思いますが(筆者もその1人です)、GitHub CopilotのProプランのAPIキーを使用することで定額での利用が可能です(超オススメ)。

    筆者は、開発済みのコードの修正やコード補完をさせたい時は「GitHub Copilot」、プロジェクトごとゼロからバイブコーディングでサクッと作りたい時は「Cline」のような使い分けをしています。

    またClineは、GUI操作のみで簡単にModel Context Protocol(MCP)サーバの追加ができるのも嬉しい点です。マーケットプレイスからWeb情報を検索させるためのMCPサーバやAWSなどのDBに接続するためのMCPサーバなどがたくさん提供されているので、最新の情報を調べながらコード実装させたい場合などにもClineを活用しています。
    GUI操作で簡単にMCPサーバーを導入できます。
    ClineがTavily(AIエージェント専用設計の検索エンジン)のMCPサーバを利用して、Web検索しながらコードを実装しています。

    ③AppMap(処理のビジュアライズ、リファクタリング):

    コードの解析やビジュアライズが簡単にできるツールです。処理フローやアーキテクチャを可視化することで、どのような処理を行なっているのかより明確になり、プロジェクトコードのドキュメント化などもやりやすくなります。

    また、AIアシスタント機能も実装されており、プロジェクトフォルダ内のコードを解析して、特定の処理の検索やダイアグラムの作成をAIに指示することも可能です。
    AppMapでは@マーク付き指示でAIにダイアグラムの描写やコードの説明をチャットベースで依頼できます。

    ④Ruff(AI生成コードのフォーマット統一):

    バイブコーディングによりコード生成を行っていると、フォーマットの統一性が気づけばバラバラに、、、なんてことは良くあります。

    Ruffはクォート記号の使い方やコード1文の長さ、Pythonでは特に重要なインデントの使い方などフォーマットを簡単に統一できる拡張機能です。

    また、煩雑になりがちなパッケージやモジュールのインポート文の順序を整理してくれる機能も備えています。
    RuffではVS Codeのコマンドパレットから簡単にインポートの順序整理を実行できます。

    2. uvを使ったパッケージ管理・仮想環境

    Pythonのバージョン管理、仮想環境構築、パッケージの依存関係解消が一括でできるオススメの方法はuvを使った環境構築です。

    uvはRust製のパッケージマネージャーで、Pythonでよく用いられるpipに比べてパッケージの依存関係の解消やインストール速度が圧倒的に速いのが特徴です。

    筆者も以前はpyenvでバージョン管理、venvで仮想環境のアクティベート、pipでパッケージインストール、、、のようなやり方をしていたのですが、一度uvに慣れるとその利便性から離れられなくなりました。

    また、AI駆動開発にもuvを使う利点はあります。uvでは、プロジェクトフォルダ直下にPythonのバージョン管理ファイルやパッケージの依存関係を明記したファイルを配置するので、生成AIが開発環境の条件を順守してコード提示してくれやすいです。
    uvでは開発環境を明記したuv.lockファイルが作られます。

    ただし、uvはまだ開発初期(メジャーバージョンが1.0.0に達していない)のツールなので、 大規模な変更が行われる可能性がある点には注意が必要です。

    3. Gitによるバージョン管理・協業

    開発コードのバージョン管理は可能な限り、Gitを使うことをオススメします。コーディングAIによってコードの大きな書き換えが頻繁に起きるAI開発では、こまめなバーション管理が必須です。

    GitHubはコードの共有・レビュー(チーム開発でのコラボレーション)が容易になるだけでなく、GitHub ActionsやGitHub Copilotのような様々なサービスを提供しています。

    2025年の5月からGitHub Actionsでコーディングエージェント、「Claude Code」を利用した生成AIによる開発の自動化ができる仕組みも提供されています。

    GitHubをSoftware as a Service(SaaS)として利用する場合は、ソースコードがクラウド上に配置される点に注意が必要です。開発プロジェクトによっては、セキュリティ基準でソースコードをオンプレミス環境外に配置できない場合があります。そのような場合はGitHubでオンプレミスサーバをリポジトリ配置先として利用したり、GitLabの使用を検討してください。

    まとめ/今後の展望

    最後に、生成AI時代のオススメPython開発環境についてもう一度下記にまとめます。  

    エディタ:VScode

    VScode拡張機能:GitHub Copilot、Cline、AppMap、Ruff

    パッケージ管理・仮想環境、Pythonバージョン管理:uv

    バージョン管理・協業:GitHub、GitHub Actions

    みなさんもぜひ本記事を参考に、快適なアプリケーション開発環境を構築してみてください!

    参考文献

    ・サプー(著).VTuberサプーが教える! Python 初心者のコード/プロのコード.技術評論者.2024

    ・【AI開発】VSCode拡張機能「Cline」とは?使い方やCusorとの違いを徹底解説

    https://www.ai-souken.com/article/what-is-cline#google_vignette

    ・AppMapでRailsアプリケーションをビジュアライズしよう!

    https://zenn.dev/sarah/articles/f43ad135c3a8b9

    ・Pythonパッケージ管理 [uv] 完全入門

    https://speakerdeck.com/mickey_kubo/pythonpatukeziguan-li-uv-wan-quan-ru-men

    ・Claude Code Actionをさっそくレビューしてみた!

    https://qiita.com/kyuko/items/ad894bac5ba516683387

    0
    0
    0

    Register as a new user and use Qiita more conveniently

    1. You get articles that match your needs
    2. You can efficiently read back useful information
    3. You can use dark theme
    What you can do with signing up
    0
    0

    Delete article

    Deleted articles cannot be recovered.

    Draft of this article would be also deleted.

    Are you sure you want to delete this article?