AIとの付き合い方
AIの力を借りてこのブログのデザインを一新したので、AIについて思っていることを書こうと思います。
生成AIがだいぶ世の中に浸透してきた感じがありますね。 OpenAIがChatGPTをリリースしてから数年経ち、体感ではありますが使っている人も多岐にわたっている気がします。
私もあまり多いとは言えませんが、日々の生活でAIを利用しています。 特にプログラミングにおいては、AIは非常に大きな威力を発揮しており、このブログのデザインもAIを活用して一新しました。 HTMLやCSSには詳しくなかったですが、AIの力を借りると思ったよりスムーズにこのサイトを作ることが出来ました。 AIがなければここまでのものは作れなかったと素直に思います。
その他にもAIの利用が役に立つ部分は多くあると思います。ここには自分が実際にどのように使用しているかを記しておこうと思います。
尚、AI利用の是非等については論じません。
また、ここでのAIは主にLLM(Large Language Model)のことを指します。
前提
自分のスペックをまとめてみます。 めちゃくちゃプログラミングするとかプログラミングに詳しいというわけではないです。
-
専門
- 機械
- いわゆる4力(材料力学、流体力学、熱力学、機械力学)を主に勉強していた
- 基本的には機械設計や解析などを主に行う
- コンピューターサイエンスにはあまり詳しくない
- 機械の分野でも数値計算で利用するので全く学んでいないというわけではない
- 機械
-
プログラミングスキル
- 基本的に独学
- C言語は一通りわかるが未定義動作やビルド処理には詳しくない
- オブジェクト指向という概念は知っている
- 自分で書くことは少ない
- そもそもコーディングは必要ならやるが好きではない、といったところ
- するにしても主に組み込みか数値計算
- 基本的に独学
プログラムにおける活用
AI活用で個人的に一番恩恵が大きいのはプログラミングです。
前述の通り、私はほとんどプログラムを書かないですし、コーディングも好きではないです。 しかし、プログラムを組んだほうが良い場面というのは意外とあったりします。 今まであれば妥協していたり諦めていたことも手軽にできるようになったというのは非常に大きいです。
一方で完全にコーディングを任せられるかというとそうでもないかなぁという感じはあります。 そこまで大きくないコードであれば気にならないですが、ある程度の規模を超えてくるとクラス周りの設計などはこちらで都度指示をしないと微妙なコードを出してくるなぁという印象。このあたりは仕方がないかなぁと割り切っています。指摘すればすぐ直してくれますし、個人的には細かいコーディングの部分を任せられるのは大きいです。事前にしっかり仕様書や設計書を作ってインプットするとそれなりにちゃんとやってくれるようですが、都度指摘のほうが自分のスタイルには合っているかなと思っています。
あとはデバッグ能力はまだまだかなと思います。特に組み込み寄りの実機が関わってくる部分はまだまだ自分でやったほうが早いですね。 LLMは実機のトラブルなどを直接把握できるわけではないので仕方がないのですが。
文書の生成、要約
文書の要約、特に長い文書の要約は素直にすごいなと思っています、が、実際に使うかというとそんなに使わないですね。 なんかLLMに要約させると文書の濃淡が失われて均質化される感じがするので、使い所が限られるなと思っています。 ドキュメントや説明書のようにひたすら長く情報の重要度にもあまり差がない文書だと威力を発揮しますが、 人が書いた作文などでは重要な部分が抜けていたり文意が変わってしまっていることがあるんですよね。
文書生成においても均質な文章が出てくるよなぁという感じています。 どちらかというと骨組みをLLMに作ってもらってあとから肉付けをする、という利用方法になるのかなぁという気はしますね。
日常生活での活用
日常での利用では思考の整理に役に立ちます。自分の考えていること、描いている構想などを入力してフィードバックをもらう、いわゆる壁打ち的な使い方ですね。LLMからのフィードバックよりも自分の考えを言語化すること自体が重要な役割を果たしているのでは?と思うこともあるものの、総合して思考の整理には貢献しています。履歴からどういうことを考えていたかを遡れるのも良いですね。
他にもリサーチをやってくれる系の機能は役に立つ場面もありますね。 ほとんど情報を持ち合わせていないとき、とりあえず情報が欲しい場面では重宝します。
画像生成
これはLLMじゃないので書くべきか迷いますが…
イメージ画像みたいなのを作るのには良いですが、細かい指定が難しいので個人的には使い所が限られるなという感想です。
いい感じのフリー画像を探す手間が省けるかな、という感じでしょうか。
自分の専門分野(機械設計)における活用
自分は機械設計をやることが多いので、ここでうまく活用できると嬉しいのですが、現状全くと言っていいほど活用出来ていません。 結局LLMは3Dモデルを直接扱えるわけではないので、ここが解決しないとどうにもならないのかなと思います。 STLなど、ポリゴンデータとなった3Dモデルをテキストデータとして扱うことは出来ますが、それぞれの形状がどういう意味があるのか、どのように使われているのかなどの背景情報が学習されていないと、実用的であるとは言えないかなと思います。
この解決には3Dモデルの細部まで言語化することが必須なのかなと思います。が、果たしてそれがうまくいくのかはだいぶ疑問です。3次元の物体を言葉だけでそんなに詳しく表すことができるのか、そしてそれをうまく扱うことができるのか。人間であれば多くの場合3次元の物体は3次元の物体として頭の中で処理していると思いますが、それは言語化が極めて困難だから、言語化すると抜け落ちてしまう情報が多すぎるからではないかと思ってしまいます。そのあたりがうまく解決できるまでは、活用は難しだろうなと感じます。
ただ、言葉で表せられるような部分、大まかな形状であったり大きさであったりといったパラメータはAIが役に立つ場面もあるかもしれません。 せっかくなのでどこかでうまく活用できる良いんですけどね。
まとめ
現時点で自分がどのようにAIを扱っているか書いてみました。
めちゃくちゃ活用しているというわけではないですが、活用できる部分では無理のない範囲で活用していると言う感じです。
ワークフローとか組めばもっと有効活用できるかなと思わなくもないですが、そこまでする気は起きないなぁというのが現状ですかね。