[スポンサーリンク]

一般的な話題

初心者でも簡単!ChatGPTを用いたプログラミング

[スポンサーリンク]

「プログラミングに興味がある、でも勉強している時間はない…」そう考えている学生や研究者の方も多いと思います。特に、実験系化学者は、メインの研究にプログラミングが必須でない場合が多く、時間を掛けてプログラミングを学ぶことにハードルを感じてしまいがちだと思います。

そんなケムステ読者に向けて、今回はChatGPTを用いて簡単にプログラミングを行う方法を紹介します。ChatGPTのすごいところは、「この処理を行うコードを書いてください」と言うだけですぐにコードを書いてくれることです。コードを実行してエラーが出ても、「こういうエラーが出たので直してください」というと直してくれます。あまりの便利さに感動するほどなので、この記事で皆さんにも使い方を紹介したいと思います。

1. ChatGPTとは

ChatGPTとは、OpenAI社によって開発された、人工知能(AI)を用いたチャットサービスのことです。アカウントを作るだけで、無料で利用できます(有料のupgradeもあり)。使い方はとても簡単で、図1のような画面でメッセージを入力すれば、それに応じてAIが回答をくれるという仕様になっています。AIは日本語も理解できるので、日本語でメッセージを送ると日本語で返事が返ってきます。

他の人工知能を用いた自動会話システム(チャットボット)を利用したことがある人も多いと思いますが、既存のシステムと比べるとChatGPTのAIはとても頭が良く、人と会話しているような感覚で会話が成り立ちます。

図1. ChatGPTの入力画面。

2. GPTについて

ChatGPTは、GPT(Generative Pre-trained Transformer)というAIの言語モデルを利用していて、2023年5月現在、ChatGPTの無料版ではGPT-3.5、有料版ではさらにGPT-4というバージョンが使えるようになっています。GPT-4の方がGPT-3.5よりも賢く、回答の精度が高いですが、以下に紹介するプログラミングへの利用はGPT-3.5でも可能です。

ちなみにGPT-3.5とGPT-4は、いずれも2021年9月までのデータを学習に用いられているので、それ以降に起こったことについては知りません。それなので、GPT-4は自分の存在についても知らず、GPT-4についての質問にうまく答えられません。日本語で、「GPT-4は日本語を扱えますか?」と聞くと、「私が知っているのはGPT-3までです。」と日本語で返ってきたのには笑ってしまいました。このように、ChatGPTは最新の情報について調べるには今のところ不向きですが、プログラミングへの利用にはとても役立ちます。

3. ChatGPTを用いてコードを書く方法

プログラミングに興味があるけど始められない、という人にとって、一番のハードルはコードを書くことだと思います。ある程度基本を学んでも、実際にやりたいタスクについてコードを書こうとすると、アルゴリズムを考えたり、いろんな関数の使い方を調べたりしなければなりません。書いてみたは良いものの、エラーが出て直し方が分からない、ということも頻繁に起こります。そのため、プログラミングで自動化できそうな処理であっても、わざわざコードを書くくらいなら手動でやった方がまし、と思うことも多々あります。

そういう人にとって、ChatGPTは強力なツールです。ChatGPTに行いたい処理について説明すると、それに応じてコードを書いてくれます。ChatGPTは一般的なプログラミング言語ならどの言語でもコードを書くことができるので、プラットフォームを選びません。以下に、ChatGPTにコードを書いてもらうためのメッセージ(プロンプト)の例を示します。

以下の処理を行うPythonコードを書いてください。コードを書くために追加情報が必要であれば、私に聞いてください。

# 処理
入力データ(x, y)を、与えられた関数にフィッティングする。
入力データを、フィッティング曲線とともにプロット。

# 入力データ
x = 5.12, 2.52, 1.23, 0.62, 0.38, 0.00
y = 0.728, 0.491, 0.378, 0.245, 0.180, 0.098

# フィッティング関数
y = (a * x + b)/(c* x + d)
変数:y, x
係数:a, b, c, d

# 制約条件
x軸のラベルは’質量比’
y軸のラベルは’ピーク比’

上記のメッセージをChatGPTに送ると、以下のような返信が返ってきます(図2)。書いて欲しいとお願いしたコードに加えて、簡単な説明も付けてくれます。メッセージを送る際に、「Python初心者でも分かるように教えてください」と付け加えると、より丁寧に教えてくれます。また、コードを作ってもらった後に、「この部分を説明してください」と言うと分からない部分について教えてくれます。

図2. コード作成のリクエストに対するChatGPTの回答

4. ChatGPTをコーディングに使うコツ

以下に、ChatGPTにコードを書いてもらうためのコツを紹介します。

「追加で必要な情報があれば聞いてください」と質問を促す。
慣れないうちは、ChatGPTにどのような情報を伝えればよいのか戸惑うことと思います。その場合は、最初のメッセージで「追加で必要な情報があれば聞いてください」と伝えておくと良いです。そうすれば、情報が欠落している際にChatGPT側から聞いてくれます。

メッセージのやりとりを何度か行い、コードを改善してもらう。
ChatGPTに作ってもらうコードは、初めから上手く行くとは限りません。実行した際にエラーが生じたり、思った結果が得られないこともあります。その場合には、「〜というエラーが生じました。」「グラフのラベルが文字化けしてしまいました。」などとChatGPTに伝えると、修正版のコードを作ってくれます。また、実行結果を見てから、「グラフの縦横比を1:1にして欲しい」「入力値をExcelファイルから読み込む形にしてほしい」などと、追加のリクエストをすることもできます。容量の大きいデータを扱う際には、「処理スピードが速くなるようにコードを改善して欲しい」といったリクエストも可能です。このように、ChatGPTと会話しながらより良いコードを作り上げるというのがコツです。

データ構造を説明するのが難しければ、具体例を作って貼り付ける。
プログラミングの経験がない人は、入力データをどのようにChatGPTに伝えれば良いのか分からないこともあると思います。一般的に、コードを書く際にはファイルの形式や保存場所、データの構造を知る必要があります。Excelなどの表データの場合、伝え方が分からなければ、具体例を作って貼り付けるという方法も役立ちます。

5. ChatGPTを使ったプログラミング学習

さて、プログラミングをやったことがない方は、作ったコードをどう実行すれば良いのかも気になると思います。それほど難しくないので、この記事で私が説明するのも良いのですが、ChatGPTがとても分かりやすく教えてくれるので省きます。プログラミング初心者は、以下のような質問をChatGPTにしてみてください。

  • 私はPython初心者です。Pythonの始め方を教えてください。
  • 初心者におすすめのプログラミング言語を教えてください。
  • 化学者にとって便利なpythonのライブラリを教えてください。

ChatGPTの良いところは、知りたい情報を一瞬でまとめて提示してくれることです。上記の質問に対する回答は、インターネットで検索すればいろんなまとめ記事や動画から自分で調べることもできますが、それなりに時間が掛かります。ChatGPTは、質問した内容に対して直接回答をくれるので、記事や動画などから情報を探し出す手間が省けます。

6. 終わりに

プログラミングが出来るようになると、さまざまなタスクを自動化することができます。人によって使い方は様々だと思いますが、私の場合は、Excelの表データのフォーマット変更、大量の画像ファイルのPowerPointへの貼り付け、タンパク質の配列データの解析、PDFファイルからのデータ抽出、グラフの描画とフィッティングなどに使っています。頻繁に行うコピペ作業などは、自動化してしまうとかなり楽です。

プログラミングが仕事ではない実験系研究者の私にとって、プログラミングを行う際には、常にコードを書く労力と自動化することのメリットを天秤にかけ、わざわざコードを書くかどうか考える必要がありました。しかし、ChatGPTがコードを書いてくれるようになってからは、「できそうなものなら何でも自動化してみよう」と思えるようになりました。

ちなみに、MicrosoftはGPT-4を用いてWordやExcelの作業をサポートするMicrosoft 365 Copilotを発表しており、近いうちに導入されるようです。どんどん進化するAI技術とうまく付き合いながら研究を進めていくことが今後必要になりそうです。

関連リンク

関連書籍

[amazonjs asin=”B0BX636FGC” locale=”JP” title=”週刊東洋経済 2023/4/22号(ChatGPT 仕事術革命)”] [amazonjs asin=”B0C5RX3SKZ” locale=”JP” title=”ChatGPTプロンプト最強の入門書: ChatGPTはプロンプトの作成で回答の質が決まる”]
Avatar photo

kanako

投稿者の記事一覧

アメリカの製薬企業の研究員。抗体をベースにした薬の開発を行なっている。
就職前は、アメリカの大学院にて化学のPhDを取得。専門はタンパク工学・ケミカルバイオロジー・高分子化学。

関連記事

  1. α-トコフェロールの立体選択的合成
  2. 材料開発におけるインフォマティクス 〜DBによる材料探索、スペク…
  3. 振動結合:新しい化学結合
  4. 僅か3時間でヒトのテロメア長を検出!
  5. 水を含み湿度に応答するラメラ構造ポリマー材料の開発
  6. 化学者のためのエレクトロニクス講座~配線技術の変遷編
  7. 多置換ケトンエノラートを立体選択的につくる
  8. 日本語で得る学術情報 -CiNiiのご紹介-

注目情報

ピックアップ記事

  1. ポメランツ・フリッチュ イソキノリン合成 Pomeranz-Fritsch Isoquinoline Synthesis
  2. 小松紘一 Koichi Komatsu
  3. 第98回―「極限環境における高分子化学」Graeme George教授
  4. 世界の化学企業いくつ知っていますか?
  5. 第2回慶應有機合成化学若手シンポジウム
  6. 鉄錯体による触媒的窒素固定のおはなし-2
  7. 高反応性かつ取扱い容易な一酸化炭素の代用試薬,N-ホルミルサッカリン
  8. 三共と第一製薬が正式に合併契約締結
  9. 国立天文台 野辺山宇宙電波観測所の特別公開に参加してみた
  10. マテリアルズ・インフォマティクスに欠かせないデータ整理の進め方とは?

関連商品

ケムステYoutube

ケムステSlack

月別アーカイブ

2023年6月
 1234
567891011
12131415161718
19202122232425
2627282930  

注目情報

最新記事

“とび跳ねる水滴”に潜む物理 〜接触時間とエネルギー源で読む撥水・防氷のテク〜

熱したフライパンに落ちた水滴が、玉になってコロコロと走り回り、冷えた面では、結露水が合体した瞬間に跳…

AI時代に研究者がすでに持っている力・これから伸ばしたい力

論文要約や文献検索など、研究現場でもAI活用が日常化する一方、「自分の仕事の先行き」に漠然とした不安…

miHub®を活用した探索的データ解析の実践

開催概要研究開発においてデータ活用が進む中、機械学習モデルの構築や予測解析に…

“ある特効薬”のはなし ~本田宗一郎氏の回想から

Tshozoです。最近実家に戻っては色々と廃棄するなどの店じまいを少しずつ進めているのですが、中…

高分子鎖を束ねた新しい共重合体「束状共重合体」が誕生

第715回のスポットライトリサーチは、東京大学大学院 工学系研究科(植村研究室)に所属されていた亀谷…

2026年「有機溶媒危機」へのアンサー。北大発・メカノクロスが挑む、溶媒に依存しない新たな合成法 = “メカノケミカル有機合成”の社会実装

株式会社メカノクロスは、メカノケミカル有機合成技術の社会実装に挑む北海道大学発の…

“壊れないよう” に作ってきた半導体ポリマーを、あえて “壊れるよう” に作る化学

半導体ポリマーは長いあいだ、「いかに壊れにくく、長持ちさせるか」といったような安定性を競って進歩して…

有機合成化学協会誌2026年7月号:固体高分子電解質・電子ドナー・アクセプター錯体・機械学習法・trichodermamide類・エナンチオ選択的スキップジエン合成法

有機合成化学協会が発行する有機合成化学協会誌、2026年7月号がオンラインで公開されています。…

第62回Vシンポ「見えない空気を科学する~センサによる室内環境・臭気の見える化と快適空間デザインの最前線~」を開催します!

こんにちは、Macyです。第62回Vシンポのご案内をさせていただきます。今回は、前回同様…

【協和ファーマケミカル】新卒採用情報(2028年卒)

協和ファーマケミカルが求めているのは、有機合成の知識や実験経験を身につけ、活かし…

実験器具・用品を試してみたシリーズ

スポットライトリサーチムービー

PAGE TOP