Nigelのコード補完を試す

その他

スポンサーリンク

この記事では、LabVIEW2026Q1のNigelでできるようになったコード補完の内容と使用例を紹介しています。

NigelはLabVIEWからアクセスできるAIチャットシステムで、チャットでLabVIEWについての質問に答えてくれたりします。

基本的な使い方(LabVIEW 2025 Q3までの機能ですが)については過去の記事でも紹介しています。

今までは単にチャットシステムだけだったのですが、viに介入できるようになり、それがコード補完という形でまずは実装されています。

実際の操作、および反応については動画の方がわかりやすいと思うので、よければ動画も最速レビューとしてLabVIEW 2026 Q3が入手出来てすぐに試したときに公開しているのでご覧ください。

なお、この記事の内容はコード補完の機能が出てまだ時間も経っておらず、「上手い使い方」については研究の余地がある状態での使用例になります。

日進月歩で進化していくAIの機能を考えれば、この記事を見て実際に試してみたらもっとすごいことができた、という可能性もあるので、あくまで初歩的な使い方の参考として見てもらえればと思います。

スポンサーリンク

Nigelのコード補完とは

コード補完とは、その名の通り、コード、つまりLabVIEWで言うところのviのブロックダイアグラムの実装の一部を補完してくれるための機能です。

どのようにこの機能にアクセスするかですが、ブロックダイアグラム上で定数や制御器、関数の出力端子からワイヤを出そうとすると専用のアイコンが出てくるのでこれをクリックして選択することで呼び出せます。

この機能自体は一日の使用数の上限があるようで、50回までとなっています。

1回で、補完の候補を3つ出してくれます。

が、個人的には、1番最初に提案される内容が最も「やりたいこと」に近い結果であることが多い印象です(たまたまかもしれませんが)。

注意点としては、「補完」の機能であるため、途中まではユーザーがプログラムを書いている必要があります。

また、Nigelに聞く限り、このコード補完を行っている仕組みとしては、ブロックダイアグラムのフリーラベルだったり、VIドキュメント、ラベル名などを元に、ユーザーがどのようなプログラムを書こうとしているかを考えているようです。

なので、Nigelにこれから書こうとしているプログラムの「ヒント」をある程度与えないと補完できません(まぁさすがにノーヒントで補完してくれるわけはないので当然と言えば当然ですが)。

また、上のNigelの答えには特に書いてないですが、コード補完の精度自体は、上で書いたブロックダイアグラムのフリーラベルだったり、VIドキュメント、ラベル名が日本語よりも英語の方が高い印象があります。

(そのため以下で紹介している使用例ではコメント部分を英語で書いているものが多いです)

補完の様子

では、実際にどのように補完されるかについて機能の一部を紹介していきます。

紹介している内容、およびこれら以外についても、実際の画面上での動作の様子については冒頭で紹介したYouTubeの動画から確認してみてください。

簡単な足し算

まずは肩慣らし(?)ということで、簡単な足し算の場合です。

足し算の対象となる二つの制御器を配置し、これらにラベルをつけ、フリーラベルとしてのコメントで「XとYを足して結果を表示」と指示してやります。

すると、和の関数を補完してくれます。

・・・だから何?という感じかもしれませんが、VIスクリプトを使用するでもなくこのようなコード補完処理が行えるようになったこと自体がすごいという話です。

単位換算

制御器と表示器それぞれに単位(今回は長さ)を指定し、単位換算をしたい旨をラベルに書いた状態で実行することで、単位換算をしてくれます。

単位換算についてはそもそも数値制御器で単位を付けられるから必要ない、と思われる方もいるかもしれませんが、あくまで「複数の計算を行わせることができる」という例の紹介です。

私が試した限り、この種の「決まった計算」はかなり精度よく補完してくれます。

長さの単位だけでなく、例えば圧力とか、温度とか、そういった特定の決まった計算で換算できるものについては(もちろんちゃんとしたフリーラベルを書く前提ですが)期待通りの補完が行えます。

ファイルI/O

続いて、ファイルにデータを保存する、いわゆるファイルI/Oの操作についても試してみました。

期待した結果は、ファイルを開いて、書いて、閉じてをそれぞれ異なる3つの関数で行っていくオーソドックスなプログラムの補完でしたが、結果的には書き込みの関数のみが表れました。

なお、私が試した際には一度にまとめて補完はできず、2段階の補完処理を経ました。

確かにこの関数だけが使われている場合でもファイル保存はできるけれど・・・このあたりはラベルにどう指示を書いていくか次第かもしれません。

BMIの計算

BMIを計算して、という命令でもちゃんとその意味と正しい計算方法を基に補完してくれました。

こちらもまた、単位換算と似ていて、「決まった処理」ですが、そもそもBMIという用語自体をまず理解していないと正しく補完できないわけで、そういった意味ではちゃんとAIらしくBMIを解釈してそこを基に補完してくれているのは良かったです。

今のところの補完機能の評価

上で紹介した機能を見て、人によっては「なんだこの程度のものなのか」と感じる方もいると思います。

個人的にも、もう少し複数の関数を交えた補完をしてくれないかなと思う場面もあり、物足りなさを感じないと言えばウソになりますが、一般的なAIチャット同様、これは指示の与え方の問題な気もします。

世の中的に広くAIの技術が驚異的なスピードで進化していく中、Nigelのコード補完の機能も日増しに進化し、その精度を高めてくれるようになるのであれば、もっと使い勝手のいい機能になると思います。

少なくとも実際のコード補完を見るまでは、「どんなふうにできるの?」と思ってましたが、今は、「LabVIEWでもこういったことができる」というこれからの進化への期待をさせるような初歩の機能段階だと考えています。

少なくともNIが公式的に発表している資料などを見る限りでは将来的にコード補完ではなくコード生成も行うようにするとのことなので、その初めの一歩としてまずこのような機能が実装された、と思って、色々と遊んでみるには面白い題材だと思います。

本記事ではNigelによるコード補完の内容とその例を紹介してきました。

なお、LabVIEW 2025 Q3のバージョンではNigelのチャット利用時に日本語入力するとEnterキーを押したらプロンプトがNigelにすぐに渡ってしまうという機能面の問題がありましたがLabVIEW 2026 Q1では解消されています。

こういった点も含め、Nigelがより使いやすく、便利になり、LabVIEWでの開発のスピードを高めてくれることを期待しつつ、現状ではまだ「出来立て」のコード補完の機能を応援していこうと思います。

ここまで読んでいただきありがとうございました。

コメント

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