[スポンサーリンク]

一般的な話題

初心者でも簡単!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技術とうまく付き合いながら研究を進めていくことが今後必要になりそうです。

関連リンク

関連書籍

kanako

投稿者の記事一覧

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

関連記事

  1. 出張増の強い味方!「エクスプレス予約」
  2. 超原子価臭素試薬を用いた脂肪族C-Hアミノ化反応
  3. 教科書を書き換えるか!?ヘリウムの化合物
  4. 有機ケイ素化合物から触媒的に発生したフィッシャーカルベン錯体を同…
  5. 2022 CAS Future Leaders プログラム参加者…
  6. 【チャンスは春だけ】フランスの博士課程に応募しよう!【給与付き】…
  7. 文具に凝るといふことを化学者もしてみむとてするなり⑯:骨伝導ヘッ…
  8. 有機化学美術館が来てくれました

コメント、感想はこちらへ

注目情報

ピックアップ記事

  1. 電子豊富芳香環に対する触媒的芳香族求核置換反応
  2. ノーベル博物館
  3. 固体高分子電解質の基礎、材料技術と実用化【終了】
  4. (–)-Batrachotoxinin Aの短工程全合成
  5. アデノシン /adenosine
  6. Mestre NovaでNMRを解析してみよう
  7. 強酸を用いた従来法を塗り替える!アルケンのヒドロアルコキシ化反応の開発
  8. 私立武蔵高 の川崎さんが「銀」 国際化学オリンピック
  9. 乾燥剤の種類と合成化学での利用法
  10. 超薄型、曲げられるMPU開発 セイコーエプソン

関連商品

ケムステYoutube

ケムステSlack

月別アーカイブ

2023年6月
 1234
567891011
12131415161718
19202122232425
2627282930  

注目情報

最新記事

5/15(水)Zoom開催 【旭化成 人事担当者が語る!】2026年卒 化学系学生向け就活スタート講座

化学系の就職活動を支援する『化学系学生のための就活』からのご案内です。化学業界・研究職でのキャリ…

フローマイクロリアクターを活用した多置換アルケンの効率的な合成

第610回のスポットライトリサーチは、京都大学大学院理学研究科(依光研究室)に在籍されていた江 迤源…

マリンス有機化学(上)-学び手の視点から-

概要親しみやすい会話形式を用いた現代的な教育スタイルで有機化学の重要概念を学べる標準教科書.…

【大正製薬】キャリア採用情報(正社員)

<求める人物像>・自ら考えて行動できる・高い専門性を身につけている・…

国内初のナノボディ®製剤オゾラリズマブ

ナノゾラ®皮下注30mgシリンジ(一般名:オゾラリズマブ(遺伝子組換え))は、A…

大正製薬ってどんな会社?

大正製薬は病気の予防から治療まで、皆さまの健康に寄り添う事業を展開しています。こ…

一致団結ケトンでアレン合成!1,3-エンインのヒドロアルキル化

ケトンと1,3-エンインのヒドロアルキル化反応が開発された。独自の配位子とパラジウム/ホウ素/アミン…

ベテラン研究者 vs マテリアルズ・インフォマティクス!?~ 研究者としてMIとの正しい向き合い方

開催日 2024/04/24 : 申込みはこちら■開催概要近年、少子高齢化、働き手の不足…

第11回 慶應有機化学若手シンポジウム

シンポジウム概要主催:慶應有機化学若手シンポジウム実行委員会共催:慶應義塾大…

薬学部ってどんなところ?

自己紹介Chemstationの新入りスタッフのねこたまと申します。現在は学部の4年生(薬学部)…

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

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

PAGE TOP