生成AIで素人が“ちゃんと動くソフトウェア”を作れるのか編集部コラム(1/2 ページ)

生成AIの活用法に「コーディング支援」があるが、プログラミングを学んだことがない素人でもちゃんと動くソフトウェアを作れるのか。必要な知識量や思考力について考える。

» 2024年05月31日 08時00分 公開
[谷井将人ITmedia]

この記事は会員限定です。会員登録すると全てご覧いただけます。

 生成AIの活用法に「コーディング支援」があります。上手に使えば、プログラマーの業務の一部を生成AIに“外注”することで業務効率を向上させ、人間でなければ難しい仕事にリソースを配分できます。

 では、プログラミングを勉強したことがない素人が生成AIを使って実際に動くプログラムを作れるのでしょうか。筆者が試してみました。

「記事一覧メーカー」を作ってみる

 筆者は普通科高校を出た後、大学で社会学を学び、記者をしています。アイティメディアに務めている以上ITに詳しくないわけではありませんが、プログラミングを学んだことやコーディングをした経験はありませんでした。

 「ChatGPT」や「Claude3」が登場して、筆者は「プログラミングができなくてもソフトウェアを作れるのではないか」と考えました。今回作ったのは「記事一覧メーカー」です。

 これは、記事一覧の中から速報記事や記事広告を除いたオリジナル記事をピックアップして、そのURLとサブタイトル、タイトル、要約をまとめるというものです。

photo 当メディアの「記事一覧」ページからこのテキストを作りたい

 これをまずは要件定義をする……前に開発環境を整えます。

おすすめのIDEを聞く

 プログラマーからすれば当たり前かもしれませんが、コードがあればソフトウェアができるわけではありません。コンパイルやビルドが必要です。その基盤としてIDE(統合開発環境)が欲しいですよね。

 もちろん筆者はIDEをインストールしていませんから、生成AIにおすすめのIDEを聞きました。最終的には「InnteliJ IDEA」の無料版を選びました。これならビルドまでできます。使用言語はPythonにしました。今回の用途ならPythonである必要は特にないですが、今後もしかしたら生成AIに関するプロジェクトをやりたくなるかもしれないので選定しました。

要件定義は雰囲気で

 とはいえ、もちろん要件定義なんてしたことはありません。生成AIには筆者がなんとなく作った要件定義文を入力してコーディングを依頼しました。

 なお、今回は「趣味の範囲内で作ったものである」と言い切れる範囲内で生成AIを使っていきます。記事一覧を取得するために社内のシステムにアクセスしてはいけません。「ITmedia エンタープライズの記事にはサブタイトル、タイトル、要約が掲載されている。オリジナル記事だけ抜き出してこれらの情報を一覧にしたい」という方向性で進めます。

 生成AIに入力したのは大まかに以下の通り。

  • 記事一覧ページから速報、広告ではない記事のURLを取得
  • 各記事の「サブタイトル」「タイトル」「要約」を取得
  • 一定の形式でテキストにまとめる

 記事一覧ページはURLを伝え、「速報、広告ではない記事」の基準は、一覧ページのHTMLに書かれたタグを頼りに判断する。各記事の要素もそれぞれのページのHTMLから取得します。テキストの形式もテンプレートを筆者が提供しました。

 要件定義と呼べるのか分かりませんが、結論から言うとこれでどうにかソフトウェアを作れました。(このプログラムではスクレイピングをしますが、サイバー攻撃にならないような仕組みも作りました。当社メディアへの過度なリクエスト送信はしないようお願いします)

 ただ、「任意の記事一覧の取得を自動化したい」を上記のように書き下すのは、一般的に可能なのでしょうか? これをそのまま書いても動作するソフトウェアは作れません。HTML用語としての「要素」も使って記事ジャンルの判定方法を伝えていますし。

 一応「こんなソフトウェアを作りたいからどういう設計にすればいいか一緒に考えて」のように指示すれば生成AIがある程度導いてはくれます。ただ、今中高生が学校で習っているという「プログラミング的思考」は最低限必要な気がします。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ