[スポンサーリンク]

一般的な話題

初心者でも簡単!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. カーボンナノチューブをふりかえる〜Nano Hypeの狭間で
  2. “CN7-“アニオン
  3. 史上最強の塩基が合成される
  4. 電子デバイス製造技術 ーChemical Times特集より
  5. アメリカ大学院留学:研究者キャリアとライフイベント
  6. 構造式の効果
  7. マイクロ波とイオン性液体で単層グラフェン大量迅速合成
  8. 第50回Vシンポ「生物活性分子をデザインする潜在空間分子設計」を…

注目情報

ピックアップ記事

  1. 人工細胞膜上で機能するDNAナノデバイスの新たな精製方法を確立
  2. パリック・デーリング酸化 Parikh-Doering Oxidation
  3. 【ケムステSlackに訊いて見た④】化学系学生の意外な就職先?
  4. 基礎有機化学討論会開催中
  5. 化学コミュニケーション賞2023、候補者募集中!
  6. ガラス器具を見積もりできるシステム導入:旭製作所
  7. 結晶世界のウェイトリフティング
  8. ヒト胚研究、ついに未知領域へ
  9. 乙卯研究所 研究員募集 2022年度
  10. 来年の応募に向けて!:SciFinder Future Leaders 2018 体験記

関連商品

ケムステYoutube

ケムステSlack

月別アーカイブ

2023年6月
 1234
567891011
12131415161718
19202122232425
2627282930  

注目情報

最新記事

アンモニウム構造によりラジカル種の発生位置を完全に制御!

第710回のスポットライトリサーチは、関西学院大学理工学研究科 村上研究室の榊原 陽太(さかきばら …

化学つれづれ草【ある研究者の回想】

概要物理化学者で量子機能材料を専門とする著者によるエッセイ集.化学者としての研究,教育,人生…

第60回有機反応若手の会

開催概要有機反応若手の会は、有機化学分野で研究を行う全国の大学院生を中心とした若手研究者が集い、…

ノーベル賞受賞者と語り合う5日間!「第18回HOPEミーティング」参加者募集!

申し込みはこちら概要主催:独立行政法人 日本学術振興会(JSPS)開催地:神奈川…

光触媒による高効率なCO2還元の実現―まさかの光を弱く当てることが重要だった―

第709回のスポットライトリサーチは、東京科学大学 理学院(前田研究室)博士後期課程2年の仲田竜一 …

「π-πスタッキング」という言葉が生む誤解【芳香環の相互作用を見直す: 前編】

芳香環が平行に並んで近接しているとき、その構造を「π–π スタッキング」と表されることがよくあります…

一重項酸素によるC(sp2)−P結合切断を用いた長波長光によるリン化合物のアンケージング

第 708 回のスポットライトリサーチは、同志社女子大学 薬学部 医療薬学科 5…

マテリアルズ・インフォマティクスにおける画像解析の活用ガイド

開催概要材料開発において、電子顕微鏡やX線トモグラフィーを用いて材料の微細構造を観察するために画…

世界初のPROTAC医薬、ついに承認 ―「タンパク質を阻害する」から「分解する」時代へ

2026年5月、創薬化学の歴史に残る大きな出来事が起きました。米国 FDA は、…

有機蛍光とは異なる新しい有機りん光の分子設計指針の発見

第707回のスポットライトリサーチは、電気通信大学 情報理工学研究科(牧昌次郎研究室)の林希久也 助…

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

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

PAGE TOP