ChatGPTなどの生成AIが普及し、プログラミングのあり方が大きく変わりつつあることをひしひしと感じている方も多いでしょう。
生成AIのスピーディーな進化によって、エンジニアだけでなく非エンジニアの方でも、テキストや音声で指示を出すだけで複雑なシステムを構築できる時代が到来しました。
しかし、「AIってまだまだハルシネーション出すんでしょ?」「自分でコード書いた方が安心」と未だ利用に踏み切れない方もいるかもしれません。
本記事では、ChatGPTを活用したプログラミングの基本的な使い方から実際にコード生成やデバッグを行った実体験、さらに他のAIツールとの比較まで詳しく解説していきます。
上手に活用することで、AIはあなたの強力なサポーター、アシスタントに早変わりするのです!
ぜひ最後までチェックして、日々の業務や学習を劇的に効率化するヒントを見つけてみてくださいね。
🚗ChatGPTでのプログラミングに集中したいなら、周辺業務はYoomにおまかせ
ChatGPTにコードを任せられるようになっても、情報収集や見積もりチェックといった地味な周辺タスクは減らないものです。
こうした作業をノーコードでサクッと自動化できるのが、Yoomです!
[Yoomとは]
たとえば、Gmailに届いた見積書をAIワーカーが読み取り、各社の条件比較から判定まで自律的に処理してくれるテンプレートもあり、手作業の比較検討を効率化できます。
AIワーカーとふだん使いのツールを連携させるテンプレートから、気軽に試してみてください👀
Gmailで見積書を受信したら、AIワーカーが相見積もりの判定を行う
試してみる
■概要
複数の業者から相見積もりを取得する際、各社の条件を比較検討する作業に手間や時間を要していませんか? 手作業での確認は、見落としや判断のばらつきが生じる可能性もあります。このワークフローを活用すれば、Gmailで見積書を受信したタイミングでAIが自動で相見積もりの内容を比較・判定するため、こうした購買・調達業務の課題をスムーズに解消し、業務を効率化できます。
■このテンプレートをおすすめする方
- 複数の業者からの相見積もりの比較検討に時間がかかっている購買担当者の方
- AIを活用して、属人化しがちな相見積もり業務を標準化したい方
- Gmailに届く大量の見積書の管理と内容確認を効率化したいと考えている方
■このテンプレートを使うメリット
- Gmailで見積書を受信するとAIが自動で内容を比較するため、これまで手作業で行っていた確認や比較検討の時間を短縮できます。
- AIが設定された基準で相見積もりの比較を行うため、担当者による判断のブレを防ぎ、業務の標準化に繋がります。
■フローボットの流れ
- はじめに、GmailをYoomと連携します。
- 次に、トリガーでGmailを選択し、「特定のキーワードに一致するメールを受信したら」というアクションを設定します。
- 最後に、オペレーションでAIワーカーを選択し、受信した見積書の内容を比較し、最適なものを判定するためのマニュアル(指示)を作成します。
※「トリガー」:フロー起動のきっかけとなるアクション、「オペレーション」:トリガー起動後、フロー内で処理を行うアクション
■このワークフローのカスタムポイント
- Gmailのトリガー設定では、「見積書」「相見積もり」など、検知したいメールの件名や本文に含まれるキーワードを任意で設定してください。
- AIワーカーへの指示内容は、価格や納期、サービス内容といった比較項目や判定基準などを、自社のルールに合わせて自由に設定することが可能です。
■注意事項
- GmailとYoomを連携してください。AIワーカー内で使用するツール(アプリ)についてもマイアプリ連携が必要です。
- トリガーは5分、10分、15分、30分、60分の間隔で起動間隔を選択できます。
- プランによって最短の起動間隔が異なりますので、ご注意ください。
- AIワーカーの基本設定は「【AIワーカー】基本的な設定方法」をご参照ください。
- AIワーカーの同時実行数・作成可能なAIワーカー数・利用可能なAIモデルはご契約中のプランによって異なります。
- AIワーカー内でご利用いただけるアプリやオペレーション等はフローボットの利用制限と同様です。
- AIワーカーは、テスト実行でも本番実行と同様にタスクを消費しますのでご注意ください。詳細は「【AIワーカー】タスク実行数の計算方法」ご参照ください。
- AIワーカー内で使用するツール(アプリ)についてもマイアプリ連携が必要です。
- AIワーカーはマニュアルを詳細に設定することで適切な処理を実行しやすくなります。詳細は「【AIワーカー】マニュアルの作成方法」をご参照ください。
Slackでメッセージが送信されたら、AIワーカーでWeb検索と情報精査を行い回答する
試してみる
■概要
Slackでの情報収集や不明点の解消は迅速さが求められますが、Web上の膨大な情報から信頼性の高いソースを探し出し、精査して共有するのは手間のかかる作業です。このワークフローを活用すれば、Slackへの投稿をトリガーとして、AIワーカーが自律的にWeb検索を実行し、情報の裏付けを取りながら回答を生成・返信するまでの一連の流れを自動化できます。AIが最新情報を収集・精査するプロセスを組み込むことで、市場調査や技術調査における情報整理の効率を向上させます。
■このテンプレートをおすすめする方
- Slack上で発生する調査依頼や問い合わせに対し、最新のWeb情報を基にした回答を自動化したい方
- 特定のトピックに関する競合動向や技術情報を、AIに自律調査させて効率的に把握したい方
- 手作業での検索や情報収集の時間を削減し、根拠に基づいた情報共有を迅速に行いたい方
■このテンプレートを使うメリット
- AIワーカーがWeb検索と情報精査を代行するため、調査に伴う工数を削減し、判断や意思決定などの本来の業務に集中できます。
- AIが複数の情報ソースを基に回答を構成するため、主観に頼らない客観的な情報の整理が可能になり、チーム内での情報共有の質を標準化できます。
■フローボットの流れ
- はじめに、SlackをYoomと連携します。
- 次に、トリガーでSlackを選択し、「メッセージがチャンネルに投稿されたら(Webhook)」というアクションを設定します。
- 最後に、オペレーションでAIワーカーを選択し、Slackから受け取ったメッセージを基にWeb検索と情報精査を行い、自動で返信を行うためのマニュアル(指示)を作成します。
※「トリガー」:フロー起動のきっかけとなるアクション、「オペレーション」:トリガー起動後、フロー内で処理を行うアクション
■このワークフローのカスタムポイント
- Slackのトリガー設定では、メッセージを検知する対象のチャンネルや、特定のキーワードを任意で設定することが可能です。
- AIワーカーに与える指示内容は、どのような観点で情報の検索や精査をし、どういった形式で回答を作成するか、通知文の形式はどう指定するかなど、業務に合わせて自由にカスタマイズできます。
■注意事項
- SlackとYoomを連携してください。
- AIワーカーの基本設定は「【AIワーカー】基本的な設定方法」をご参照ください。
- AIワーカーの同時実行数・作成可能なAIワーカー数・利用可能なAIモデルはご契約中のプランによって異なります。
- AIワーカー内でご利用いただけるアプリやオペレーション等はフローボットの利用制限と同様です。
- AIワーカーは、テスト実行でも本番実行と同様にタスクを消費しますのでご注意ください。詳細は「【AIワーカー】タスク実行数の計算方法」ご参照ください。
- AIワーカー内で使用するツール(アプリ)についてもマイアプリ連携が必要です。
- AIワーカーはマニュアルを詳細に設定することで適切な処理を実行しやすくなります。詳細は「【AIワーカー】マニュアルの作成方法」をご参照ください。
👐ChatGPTでプログラミング。その概要
ChatGPTを活用したプログラミングとは、自然言語(普段私たちが話している言葉)を用いてAIに指示を出し、ソースコードの記述や修正をサポートしてもらう手法のこと。
プログラミングにおいて、以前は公式ドキュメントや検索エンジンを駆使してエラーの原因や関数の書き方を調べていましたが、現在ではチャット画面に「〇〇の処理を行うPythonのコードを書いて」と入力するだけで、数秒で実行可能なコードが返ってくるように。
また、単にゼロからコードを生成するだけでなく、既存のコードを貼り付けて「このコードのどこが間違っているのか教えて」とエラーの原因を特定させたり、「このアルゴリズムをもっと処理速度が速くなるように書き直して」とリファクタリングを依頼したりすることも可能です。
対応している言語も幅広く、Python、JavaScript、HTML/CSS、C++など、主要なプログラミング言語のほとんどを網羅!
初心者にとっては学習の強力なメンターとなり、プロのエンジニアにとっては開発の生産性を飛躍的に高めるツールとして、世界中で利用が拡大している状況です。
👀プログラミング支援AIを比較
現在、プログラミング支援においてChatGPTの強力なライバルとなっているのが、Googleが提供する「Gemini」とAnthropicが提供する「Claude」。
それぞれのAIには得意分野があり、開発の用途や目的に応じて使い分けることが重要になります。
以下の表にまとめてみました!
結論として、スピーディに動くものを作りたい場合はChatGPT、Google環境での開発ならGemini、コードの精読や全体設計のレビューを求めるならClaudeといった使い分けがおすすめです。
現在使用中の使いやすいと感じているツールや今後の運用、知見に応じて導入を検討してみてくださいね。
💻【実践】ChatGPTでプログラミングを試してみた
ここからは実際に、ChatGPTを使ってプログラミングのタスクをいくつか検証してみた結果をご紹介。
単なる理論やスペックのお話だけでなく、実際の開発現場や学習の過程でどれだけ使い物になるのか、具体的なプロンプト(指示文)の例とともに実体験をお伝えしていきます。
①ゼロからコード生成
まずは、日常の業務で使えそうな簡単なツールをゼロから作ってもらいました。
入力したプロンプト(一部抜粋)
Pythonを使って、指定したURLのニュース記事の見出しだけを抽出してテキストファイルに保存するスクレイピングツールを作ってください。
前提条件:
・処理の流れ(1. URLを入力 → 2. HTMLを取得 → 3. 見出しを抽出 → 4. txtに保存)が 分かるように書いてください。
・ニュースサイトの利用規約やrobots.txtに関する注意事項があれば、最後にまとめてください。
プロンプト投稿後、わずか数秒で「初心者向けにコメントを多めにして説明します」という丁寧な前置きがあり、設定手順とPythonを活用した見事なコードが出力されていました!
「必要なライブラリのインストール」は、意外と忘れてしまうこともあるのでここがしっかりと出力されているのは助かります。
さらに驚いたのは、ただコードが提示されるだけでなく、処理の流れやスクレイピング実行の注意事項まで丁寧に添えられていた点です。
プロンプトで指示はしていたのですが、「robots.txtファイルに記載されている規則を必ず確認して」と具体的な説明も入っているので、初心者が犯しがちなトラブルを回避できるでしょう。(赤線)
ただ情報を教えてくれるのではなく、安全な運用まで考えているのには感嘆します...
そのまま実行環境にコピー&ペーストして動かしてみたところ、一切のエラーなしで見出しの抽出に成功しました!
エンジニアが手作業で調べながら書けば数十分かかる内容が、ほんの一瞬で完了。
コード生成の実力は本物と評価できます!
②バグを含むコードのデバッグ
次に、バグ入りのコード(リストの範囲外にアクセスしてしまう「インデックスエラー」を起こすPythonコード)を用意し、ChatGPTのデバッグ能力を検証してみました。
原因を追求するとコードの構造によっては膨大な時間を費やす羽目になる作業ですが、AIの介入で工数改善と作業の手間軽減は見込めるでしょうか?
入力したプロンプト
このPythonコードを実行するとエラーが出ます。原因と修正案を教えてください。特に知りたいこと:・どんな種類のエラーなのか(エラーメッセージの意味)
・なぜそのエラーが起きているのか(原因)・エラーを回避するための具体的な修正例・もしあれば、よりPythonらしい書き方(ベストプラクティス)も教えてください【コード貼り付け】
この内容でプロンプトを投稿。
すると、瞬時に「リストやタプルなどのシーケンス型で、指定したインデックスが範囲外であるときに発生します。」という的確な指摘が出力!
構造の説明も初心者向けである他、修正案の提示も早い!
それだけでなく、エラーを回避するための安全な修正コードが提示され、さらにより良い実装方法(ベストプラクティス)の提案まで漏れなく提示しています。
実行コードの状態も問題ありません。
いやー、非エンジニアの筆者ですが、シンプルな指示だけで、こんなに簡単にわからない点を明確にしてくれるとは。
今まで頭を悩ませていたのはなんだったのでしょう...(笑)
このようにChatGPTは単にバグを直すだけでなく、プログラマーとしてのスキルアップに繋がるような回答を得られるため、独学でプログラミングを学ぶ際の心強い味方になると感じました。
③複雑なコードを解説後、最適化(リファクタリング)
最後に、他の人が書いた少し複雑で読みづらいコードの解説と最適化(リファクタリング)をお願いしてみました。
ネスト(入れ子構造)が深く、変数名も適当につけられているのでなんのこっちゃわかりません...
入力プロンプト
このJavaScriptコードが何をしているのか、プログラミング初心者にも分かるように解説し、
よりシンプルで読みやすいコードに書き直してください。
特に知りたいこと:
・この関数が「入力として何を受け取り、出力として何を返しているのか」
・どんな条件でユーザーを絞り込んでいるのか
・並び替えは何を基準に行っているのか
・リファクタリング後のコードでは、どこがスッキリしたのか
【コード貼り付け】
コードの構造を見るだけではどんなものかわからない状態だったのですが、プロンプト投稿後に、すぐにそのコードが「特定の条件を満たすユーザーを抽出し、年齢順に並び替えて返すもの」であることを分かりやすく解読してくれました!
設定用語も「〇〇という役割である」と瞬時に判断し、かつ構造のポイントまで的確に明示!
そして、リファクタリング後のコードはかなりスマートにまとまっていました!
無駄な処理が省かれたことで、コードの可読性が大幅に向上しただけでなく、処理速度の改善にも繋がりそうです...!
既存プロジェクトに途中から参加した際など、他人の書いたソースコードを読み解く場面で絶大な効果を発揮するでしょう。
抽出の精度はかなり高いので、エンジニアの方の手を煩わせることなくコード内容の確認や見直しにも応用できるはず。
なお、非エンジニアの方がすでに運用されているコードを編集するのは避けた方が良いので、あくまでもコードの確認にとどめ、エンジニアの方に相談する材料として活用してくださいね。
💵ChatGPTの料金体系とAIモデルの性能
ChatGPTには、目的や利用頻度に合わせて複数のプランが用意されているのが魅力の一つ。
無料版での使用でも事足りますが、回数制限が気になったり、高度な処理が必要になれば有料プランへのアップグレードがおすすめ!
以下の表はプランを一部抜粋したものになりますが、参考になれば幸いです。
※執筆時のレート換算です。
利用人数や運用状況に応じて、プランを検討しましょう。
🌴Yoomでできること
プログラミング自体はChatGPTで速くなっても、そのあとの情報共有やタスク管理に手間がかかっている方は多いんじゃないでしょうか。
Yoomは、普段使っているSaaSアプリ同士をノーコードでつないで業務を自動化できるサービスです。
中でもAIワーカー機能は、やり方を教えておくだけでAIワーカーが社員のようにが各アプリを操作して業務を片付けてくれます。
たとえば、オンライン商談が終わったら議事録の作成からタスク起票・チャット通知まで一連の流れを自動化するテンプレートも用意されています。
コードを書く部分はChatGPT、その先の業務フローはYoomに任せる、という使い分けがおすすめです✨
Web会議で商談が終了したら、AIワーカーで議事録の作成とTrelloへの営業タスクの起票を行いSlackで通知する
試してみる
■概要
営業会議後の議事録作成やタスク整理に、多くの時間を費やしている方も少なくないのではないでしょうか。 このワークフローは、Web会議が終了すると、AIワーカーが営業アシスタントのように議事録の作成からタスクの整理、関係者への共有までを自動で実行するため、手作業による負担や情報共有の遅れといった課題を解消します。
■このテンプレートをおすすめする方
- 会議後の議事録作成やタスク管理といった業務を効率化したい営業担当者の方
- AIワーカーを活用し、営業アシスタントが行うような定型業務を自動化したい方
- 営業チーム全体の迅速な情報共有と生産性向上を目指しているマネージャーの方
■このテンプレートを使うメリット
- Web会議終了後、議事録の作成からタスクの起票、共有までが自動化され、これまで手作業に費やしていた時間を短縮することができます。
- タスクの聞き漏らしや転記ミスといったヒューマンエラーを防ぎ、会議での決定事項を正確かつ迅速に対応へ繋げることが可能になります。
■フローボットの流れ
- はじめに、Slack、Trello、GoogleドキュメントをYoomと連携します。
- 次に、トリガーで、Web会議機能を選択し、「Web会議が終了したら」というアクションを設定します。
- 最後に、オペレーションでAIワーカーを選択し、「Web会議の文字起こしデータからGoogleドキュメントでの議事録作成とタスク抽出を行い、Trelloへのタスク起票とSlackで共有する」ためのマニュアル(指示)を作成します。
※「トリガー」:フロー起動のきっかけとなるアクション、「オペレーション」:トリガー起動後、フロー内で処理を行うアクション
■このワークフローのカスタムポイント
- Web会議機能のトリガー設定では、自動化の対象としたいWeb会議の招待URLを任意で設定してください。
- AIワーカーのオペレーションでは、議事録のフォーマットやタスクの抽出方法、共有先のツールなど、目的に応じてマニュアル(指示)を任意で設定することが可能です。
■注意事項
- Trello、Slack、GoogleドキュメントのそれぞれとYoomを連携してください。AIワーカー内で使用するツール(アプリ)についてもマイアプリ連携が必要です。
- Web会議トリガーの設定方法や注意点は「Web会議トリガーの設定方法」をご参照ください。
- AIワーカーの基本設定は「【AIワーカー】基本的な設定方法」をご参照ください。
- AIワーカーの同時実行数・作成可能なAIワーカー数・利用可能なAIモデルはご契約中のプランによって異なります。
- AIワーカー内でご利用いただけるアプリやオペレーション等はフローボットの利用制限と同様です。
- AIワーカーは、テスト実行でも本番実行と同様にタスクを消費しますのでご注意ください。詳細は「【AIワーカー】タスク実行数の計算方法」ご参照ください。
- AIワーカーはマニュアルを詳細に設定することで適切な処理を実行しやすくなります。詳細は「【AIワーカー】マニュアルの作成方法」をご参照ください。
kintoneにレコードが追加されたら、AIワーカーで競合優位性に基づいた事業分析を行いMicrosoft Teamsに通知する
試してみる
■概要
競合の動向や市場の変化を把握するための事業分析は重要ですが、関連情報を収集し、分析レポートを作成する作業に追われていませんか。このワークフローは、kintoneにレコードが追加されると、AIワーカーが競合優位性に基づいた事業分析を自動で行い、その結果をMicrosoft Teamsへ通知します。手作業による分析業務を効率化し、迅速な意思決定を支援します。
■このテンプレートをおすすめする方
- AIワーカーを活用した事業分析を導入し、情報収集を効率化したい経営企画部の方
- kintoneとMicrosoft Teamsを日常的に利用し、データ連携を自動化したい方
- 定期的な事業分析レポートの作成に時間を割かれ、コア業務に集中したいと考えている方
■このテンプレートを使うメリット
- kintoneへのレコード登録を起点に、AIワーカーによる事業分析と通知までを自動化するため、手作業での情報収集や分析にかかる時間を短縮できます。
- AIが設定された指示に基づき分析を行うため、担当者ごとの分析のばらつきを防ぎ、事業分析業務の標準化と属人化の解消に繋がります。
■フローボットの流れ
- はじめに、kintoneとMicrosoft TeamsをYoomと連携します。
- 次に、トリガーでkintoneを選択し、「レコードが登録されたら(Webhook起動)」というアクションを設定します。
- 続いて、オペレーションでAIワーカーを設定し、トリガーで取得したkintoneのレコード情報を基に、事業分析を行うためのマニュアル(指示)を作成します。
- 最後に、オペレーションでMicrosoft Teamsのアクションを設定し、AIワーカーによる分析結果を指定のチャンネルに通知するように設定します。
※「トリガー」:フロー起動のきっかけとなるアクション、「オペレーション」:トリガー起動後、フロー内で処理を行うアクション
■このワークフローのカスタムポイント
- kintoneのトリガー設定では、レコードの追加を監視したいアプリのIDを任意で設定してください。
- AIワーカーのオペレーション設定では、利用するAIモデルを任意で選択できます。また、自社の分析要件に合わせて、競合優位性の観点などを盛り込んだ具体的な指示を設定してください。
■注意事項
- kintone、Microsoft TeamsのそれぞれとYoomを連携してください。
- Microsoft365(旧Office365)には、家庭向けプランと一般法人向けプラン(Microsoft365 Business)があり、一般法人向けプランに加入していない場合には認証に失敗する可能性があります。
- AIワーカー内で使用するツール(アプリ)についてもマイアプリ連携が必要です。
- AIワーカーの基本設定は「【AIワーカー】基本的な設定方法」をご参照ください。
- AIワーカーの同時実行数・作成可能なAIワーカー数・利用可能なAIモデルはご契約中のプランによって異なります。
- AIワーカー内でご利用いただけるアプリやオペレーション等はフローボットの利用制限と同様です。
- AIワーカーは、テスト実行でも本番実行と同様にタスクを消費しますのでご注意ください。詳細は「【AIワーカー】タスク実行数の計算方法」ご参照ください。
- AIワーカーはマニュアルを詳細に設定することで適切な処理を実行しやすくなります。詳細は「【AIワーカー】マニュアルの作成方法」をご参照ください。
出典:
OpenAI