Junie – JetBrainsのAIを搭載したコーディング・エージェント


press
Junie – JetBrainsのAIを搭載したコーディング・エージェント
Posted by press

Junie – JetBrainsのAIを搭載したコーディング・エージェント

JetBrainsのAIを搭載したコーディング・エージェント「Junie」のEAP(Early Access Program)版を実際に試してみました。JetBrains IDEとAI技術が融合した新製品は、日々の開発業務を本当に効率化できるのか? 本記事ではJunieの実際の使用感とその可能性を探ります。

Junieによる開発

Junie(プラグイン)をインスール

Junieのプラグインをインストール
Junieのプラグインをインストール

Junieによるコーディング

Junieに実行させるタスクをプロンプトで入力します。

プロンプト

・Djangoでゲスト管理のプロジェクトを作成してください。
・pytestでテストコードを書き、実行してください

AIコーディング・エージェントのJunie
AIコーディング・エージェントのJunie

プロンプトを入力するとJunieがプランを立てて、タスクを順に実行します。

AIコーディング・エージェントのJunie
AIコーディング・エージェントのJunie

セキュリティ上の理由により、ターミナルでコマンド実行が必要な場合は画像のように承認ボタンが表示されるので、「Run command」を押下し実行します。(設定で許可を求めず実行することも可能)

Junieはターミナルでコマンドを実行できます
Junieはターミナルでコマンドを実行できます

プロンプトを入力してから約12分程でタスクが終了したので、さっそくpython manage.py runserverコマンドでサーバーを起動すると以下のエラーが発生したのでフォロープロンプトを入力します。

ModuleNotFoundError: No module named 'widget_tweaks'
フォロープロンプトでタスクを追加します
フォロープロンプトでタスクを追加します

プロンプト

パッケージ管理はuvを使用しています
ModuleNotFoundError: No module named ‘widget_tweaks’

タスク完了後、サーバーは無事に起動できましたがpytestが実行できていないようなので、フォロープロンプトを入力します。

プロンプト

pytestが実行できません。インストールできていますか?

タスク完了後、uvでpytestのインストールとテストも実行できました。

Junieが生成したコードでテストを実行
Junieが生成したコードでテストを実行

最初のプロンプト実行から約30分程度でゲスト管理システムが構築できました。

Junieが構築したゲスト管理システム

フロントエンドに関しては何も指定していませんが、Bootstrapを使用したゲスト管理システムが構築されました。ログインなどの機能はありませんが、ゲストの登録・変更はできます。

Junieが生成したゲスト管理システム
Junieが生成したゲスト管理システム
Junieが生成したゲスト管理システム
Junieが生成したゲスト管理システム

Junieの申し込み

Junieは現在、EAP(Early Access Program)のため申し込みが必要です。また、IntelliJ IDEA Ultimate、PyCharm Professional、WebStormで利用可能です。今のところ、JunieはmacOSとLinuxプラットフォームでのみ利用可能です。

Junieの申し込みはこちら

補足

Junieが独自で実行するターミナルは操作可能です。

Junieが独自にターミナルでコマンドを実行できます
Junieが独自にターミナルでコマンドを実行できます

JetBrainsは既にAI Assistantというコード生成などを行うプラグインを提供していますが、Junieはプロンプトに対してプランを立てタスクを実行するという高い自律性を備えたコーディングエージェントです。ガイドラインを用意することで開発者やチームの背景なども汲み取ることが可能なので、ツールというよりパートナーという表現が正しいかもしれません。


株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    Related Articles

    FastAPI

    tcp 0.0.0.0:5000: bind: address already in use

    tcp 0.0.0.0:5000: bind: address already in use FlaskやFastAPIで開発することも増えてきたので5000番のポートを使用する機会が増えました。Djangoで開発する時 […]

    Posted on by press
    Other

    リモートのファイルをローカルのデスクトップにコピー

    リモートのファイルをローカルのデスクトップにコピー リモートサーバーにSSH鍵でログインして、ファイルをローカルのマシンにコピーする方法です。今回はリモートサーバーにダンプしたsqlファイルをデスクトップにコピーします。 […]

    Posted on by press