C4RA・ChatGPT勉強会
自然言語によるプログラミング
2024年3月22日に開催する勉強会用ページです。
日時 | このページで使用した生成AI |
---|---|
2024/03/22 | ChatGPT(GPT-3.5) Copilot in Bing(スタイル:厳密) |
📝 ChatGPTを選ぶ
今日は主にChatGPT(無料版)を使います
2024年2月現在、対話型生成AIサービスは大量に公開されています。
その中でもメジャーな対話型文章生成AIサービスを4つ、ざっくり紹介します。
- ChatGPT
- OpenAIが開発・提供する生成AI
- 王道
- Copilot
- Microsoftが開発・提供する生成AI
- OpenAIが開発したAIモデルを活用した検索エンジン
- 元Bing AI
- Gemini
- Googleが開発・提供する生成AI
- Google関連アプリケーションとの連携が可能
- 元Bard
- Claude
- Anthropicが開発・提供する生成AI
- Amazonによる多額の出資を受けている
- 元OpenAIの人たちが立ち上げた
またプログラミングのために作られた文章生成AIサービスもざっくり紹介します。
- GitHub Copilot
- GitHubが開発・提供する生成AI
- 大量のパブリックコードをもとに機械学習を行ったAIがコーディングの支援を行う
- 主な機能はコードの入力補完で、開発スピードの向上やエラー防止に役立つ
- Cursor
- 生成AI機能を搭載したテキストエディタ
- AIとの対話による疑問の解消やエラーの自動修正が可能
- VSCodeをもとに作成されているため、VSCodeに慣れている方だと使い勝手が良い
それぞれ無料版/有料版がありますが、
今回は ChatGPT(無料版) を利用する想定で説明します。
Copilotはアカウント不要ですが、他はGoogleアカウント等が必要です。
なぜChatGPT(無料版)を利用するのか
そこまで深い理由ではありません。
- GPTを使ったサービスが極めて多いから
- ChatGPTで使用されているLLM(大規模言語モデル)、GPTは既にCopilotや法人GAIなどへ広く取り入れられている
- AIと言えばChatGPTみたいな風潮があり、AIの性能やリスクもChatGPTありきで議論される雰囲気がある
- 大規模言語モデル(LLM)の特長を理解できるから
- 特に無料版を利用する場合、回答の精度や質はCopilotやGeminiの方が優れていることが多い。しかしこれらはLLMを活用した検索エンジンなので、LLMそのものの特長とは結び付かない部分が多い
- ChatGPT(無料版)は素朴であるがゆえに、今後、他の生成AIサービスを利用時に応用が効く
- シンプルだから
- いいよね…
もちろん他の生成AIサービスを利用しても問題ありません。
私も時々CopilotやGeminiを利用するかもしれません。
👉 はじめてのChatGPT
- まずはあいさつする
おはようございます。今日の天気は雨です。
おはようございます。雨の日ですね。傘を持って外出されることをお勧めします。何かお手伝いできることがありましたら、お知らせください。
- 質問してみる
大学事務職員が使う台車の種類を3つ教えてください
大学事務職員が使う台車の種類は、以下のようなものがあります。
書類や文具を運搬するための折りたたみ式の手押し台車:大学内で書類や文具を移動させる際に便利な台車です。折りたたみ可能なため、収納や移動時に場所を取りません。
イベントやセミナーで使用する展示物や資料を運搬するための展示用台車:大学のイベントやセミナーで使用される展示物や資料を運ぶための専用の台車です。展示物の安全な移動や設置に役立ちます。
教室やオフィスでの清掃作業に使用する清掃用台車:教室やオフィスの清掃作業に必要な備品や清掃用具を運搬するための台車です。掃除機やモップ、掃除剤などをまとめて運ぶことができます。
- 変なスタイルで回答させる
大学事務職員が使う台車の種類を3つ教えてください
愉快な関西弁で
※ Shift+Enterで改行できます
おおっ、せやなぁ〜!大学の事務職員が使う台車やったら、まず最初は「書類運び台車」やで!あれは書類や文房具を運ぶのにピッタリやねん。ちょっとした移動も楽勝やで!
次にあるのは「イベント準備用の台車」やないかな。大学でのイベントやセミナーの準備には欠かせへんやろ?あれを使って、椅子やテーブル、備品を運ぶんやで!
最後に大事なのは「アーカイブ用の台車」やねん。古い文書や資料を整理する時に、あれはめっちゃ役立つで。大学の歴史や記録を整理する時には欠かせへんやろう!
- 今日はよろしくね
ありがとう!こうやって今日はあなたとお話しします。よろしくお願いします。
ええ、おおきに!わしとのおしゃべり、楽しんでくれてうれしいわ。今日もなにかあったら、なんでも聞いてくれや。よろしく頼むで!
🏳🌈 ChatGPTを使う目的
- 業務を効率化・自動化するため
ChatGPT(無料版)で対応可能なタスク例を挙げてみます。
- 文章の校正
- 文章の要約
- メール文の作成
- 文章の翻訳
- プログラミングコードの作成
- Excel関数の作成
- 企画書の作成
例えば東京都が公開した都職員のアイデアが詰まった文章生成AI活用事例集では効率化・自動化が強調されており、実際に「業務効率化・質の向上などに一定の効果があること」が明らかになっています。
東北大学の藤本さんが先日発表した東北⼤学が推進する"⽣成AIの業務実装"では法人GAI(組織内に導入された対話型文章生成AIサービス)を導入し、主に「通知文等の日本語、英語の構成」(21.6%)、「あいさつ文、通知文等の作成」(19.6%)、「コーディング」(17.6%)に使用していることが示されています。
東京都の事例より誤字脱字の修正をしてもらうを引用します。
あなたは、プロの編集者です。
下記文章について、誤字・脱字及び語尾の言い回しに気を付け、より適切な表現に修正してください。
#文章
これまで4月にプロジェクトチームを設置して、そのプラス面、マイナス面を見極めながら、この導入について検討してまいりました。全曲展開するにあたり、デジタルサービス局内で6月からですね。このChatGPTの試行環境を提供致しまして、その状況についてのアンケート結果でございます。前提として、文章生成AIを利用できる業務というのはもちろん、職員の業務の全体の中の業務の中で限られるものと認識をしています。
これまで、4月にプロジェクトチームを設立し、そのプラス面とマイナス面を見極めながら、この導入について検討してまいりました。全体の展開にあたり、デジタルサービス局内では6月からとなります。ChatGPTの試行環境を提供し、その状況についてのアンケート結果を取得しました。文書生成AIの利用は、職員の業務全般ではなく、特定の業務に限定されると認識しています。
- 考えを広げるため
ChatGPT(無料版)で対応可能なタスク例を挙げてみます。
- プレスリリースのタイトル案のアイデア出し
- 仕事(プロジェクト)の進め方の意見交換
- 意見の言い換え
ChatGPT(無料版)では最新情報を取得することはできませんが、ある程度枯れた技術であれば活用できます。特にプログラムやExcelの関数は、利用者の環境で動作確認が必要なので、より使いやすい部類に入ります。こちらも広義の意味で「考えを広げる」に含めます。
- プログラミングの勉強
- Excel関数の説明
- 考えに対するSWOT分析の実行
- 5W1Hによる考えの整理
プログラミング言語Pythonって何?Excelと何が違う?事務業務で使うメリットは?
私は初心者なので、厳密さよりも分かりやすさを優先して説明してください。
言葉もかんたんにして
Pythonは、プログラミング言語の一種で、コンピューターに指示を出すための特別なルールや文法の集まりです。Excelと違うのは、Excelは表計算ソフトウェアであり、主に数字やデータを整理し、計算したりグラフにしたりするのに使います。Pythonは、Excelよりも柔軟性があり、さまざまなタスクを自動化したり、大量のデータを処理したり、Webサイトを作ったりすることができます。
事務業務でPythonを使うメリットはいくつかあります。例えば、繰り返しの作業を自動化したり、大量のデータを効率的に処理したりできます。また、Pythonは比較的簡単な言語であり、初心者でも学びやすいので、新しいスキルを身につけるのが容易です。
次の3つのステップで、私の仮説を改善してください。
### 仮説 ###
大学事務職員は技術の進展に疎いのでダメ
### ステップ ###
- 仮説の特長を批判的かつ建設的に分析する
- 明るい未来をつくるための提言に言い換える
仮説の特長を批判的かつ建設的に分析する:
一般化されたステレオタイプの可能性: この仮説は大学事務職員全体を一括りにしており、個々の職員の実際の技術レベルや進歩への対応能力を無視しています。
背景や教育に関する見落とし: 大学事務職員の技術的な疎外感は、彼らの背景や教育に関連している可能性があります。彼らの仕事が主に非技術的な業務に焦点を当てているか、または最新の技術トレーニングを受けていない可能性があります。
コミュニケーションやサポートの不足: 大学内での技術トレーニングやサポート体制が不十分である可能性があります。適切なリソースや教育プログラムが提供されていない場合、職員は技術的な進展に追いつくことができないかもしれません。
明るい未来をつくるための提言に言い換える:
個別化されたトレーニングと教育の促進: 大学事務職員の技術的スキルを向上させるために、個々のニーズや能力に合わせたトレーニングプログラムを実施します。これには、オンラインコース、ワークショップ、または専門家による指導が含まれます。
技術的な進歩を促進する文化の構築: 大学内での技術の重要性を強調し、技術的な学習や成長を奨励する文化を育成します。これには、技術的なイノベーションを表彰するプログラムや、技術的なトレーニングを積極的にサポートする組織の方針の明確化が含まれます。
効果的なコミュニケーションとサポートの強化: 大学事務職員が技術的な困難に直面した場合、適切なサポートとコミュニケーションチャネルを提供します。これには、技術サポートデスクの設置、オンラインフォーラムの活用、または専門家へのアクセスが含まれます。
これらの提言を実践することで、大学事務職員はより技術的に熟練し、より効果的に働くことができるようになります。
両者は明確には区別・分類されません。
ChatGPTを使う2つの目的に触れましたが、それぞれハッキリと分かれているわけではありません。むしろ多くの場合はどちらの目的も含まれると考えられます。
効率化・自動化にとらわれすぎないようにしてください!
⚠️ 生成AIの取り扱いについて
さてChatGPTをどんどん使っていきたいところですが、
その前に知っておきたい生成AIの性質(限界)やリスク(課題)についてご説明します。
(たぶん当日はかいつまんでご説明します)
生成AIの性質・リスクが理解できれば、生成AIの扱い方の基本を理解できます。
あまりよくない例: ※ 検索エンジンを兼ねた生成AIであればリスクをおさえられます。
鎌倉幕府 いつから
鎌倉幕府は、日本の歴史において、1185年から1333年まで存在した武士政権です。鎌倉幕府の成立は、1185年に源頼朝が壇ノ浦の戦いで平氏を打倒し、鎌倉に幕府を開くことに始まります。この時期は鎌倉時代とも呼ばれ、鎌倉幕府は武士の政権として、日本の支配を行いました。鎌倉幕府は、鎌倉時代の終焉である1333年の建武の新政によって滅ぼされ、南北朝時代へと移行しました。
より良い使い方の一例:
鎌倉幕府が始まった年は1192年ではないのではないでしょうか。
この仮説の妥当性を検証したいので、まずは別の仮説や考えを提示ください。
鎌倉幕府が1192年に始まったという通説に疑問を持って、別の仮説や考えを提示することは重要です。以下にいくつかの可能性を示します:
鎌倉幕府の成立は1192年以前である可能性:
- 仮に1192年以前に成立したと仮定するならば、鎌倉幕府が成立した具体的な日付や出来事を検証する必要があります。歴史的な文献や資料を調査して、新たな証拠や情報を見つけることが必要かもしれません。
鎌倉幕府の成立は1192年以降である可能性:
- 通説と異なる立場をとり、鎌倉幕府の成立が1192年以降に起こったという仮説を検証できます。これには、当時の歴史的な出来事や記録、関連する人物の行動を調査して、新たな視点を提供するかもしれません。
鎌倉幕府の概念や性質についての異なる解釈:
- 鎌倉幕府の成立を年数だけで考えるのではなく、その性質や概念について異なる解釈を考えることもできます。たとえば、鎌倉幕府が形式的には1192年に成立したとしても、その前後に重要な変化や準備期間があったのかもしれません。このような観点から新たな仮説を検討できます。
どの仮説を採用するかは、具体的な歴史的な証拠や研究に基づいて判断する必要があります。歴史の研究においては、異なる仮説を検証し、証拠に基づいて正確な結論を導くための綿密な調査が必要です。
👉 ChatGPTを活用する
生成AIの限界と課題、使い方の基本を理解できたら、日々のお仕事や日常の中で活用したいですよね。
大学による報告や事例集はほとんど報告されていないので、ここでは自治体が公開している事例集を主に紹介します。
ぜひChatGPTを使ってみた成功談・失敗談を共有・公開しましょう。
(今は「ほぼ全員が他大学の事例待ち」している感じです)
- 話し言葉からビジネスメールを作成する
参考:東京都:都職員のアイデアが詰まった文章生成AI活用事例集
以下の内容を基に、日本語のビジネスメールのベストプラクティスに従い、わかりやすく、整理された清書を作成してください。
東京太郎様。先日審査会ありがとう。御社の提案は不採用。すみません。新宿花子より
件名: 審査結果についてのご連絡
東京太郎様
先日は、審査会にご参加いただきありがとうございました。この度は、貴社からの提案に対して審査を行いましたが、残念ながら不採用とさせていただきますことをお知らせいたします。
何卒ご理解いただけますようお願い申し上げます。また、今後ともご支援を賜りますようお願い申し上げます。
尚、ご不明点や疑問点がございましたら、お気軽にご連絡ください。
敬具
新宿花子
- Excelの関数を作ってもらう
参考:東京都:都職員のアイデアが詰まった文章生成AI活用事例集
# 指示
局内講習会の参加者リストにおける「参加可否」列に“参加”もしくは“不参加”を入力する計算式を作成してください。
# 目的
正確な計算式をエクセルに入力し、参加者の参加可否状況を把握するため
# 情報
・参加可否の条件:
・条件:3つの参加条件(例:参加登録、参加許可、必要な情報の提出)が全て満たされている
・シート構造:A列には参加者名、B列には参加登録状況(1で登録済み、0で未登録)、C列には参加の許可状況(1で許可済み、0は未許可)、D列には必要
な情報の提出状況(1で提出済み、0で未提出)が記載されています。E列に関数を入れたいです。
# ルール
・シンプルかつ理解しやすい計算式であること
参加可否を判断するためのシンプルで理解しやすい計算式を作成します。E列に以下の計算式を入力してください:
=IF(AND(B2=1, C2=1, D2=1), "参加", "不参加")
この計算式は、以下の条件を満たす場合に"参加"、それ以外の場合に"不参加"と表示します:
- B列の値が1(登録済み)であること。
- C列の値が1(許可済み)であること。
- D列の値が1(提出済み)であること。
これにより、3つの条件が全て満たされている場合に"参加"と表示され、いずれかの条件が満たされていない場合に"不参加"と表示されます。
ところで最初の「# 情報」で利用者が想定しているExcelはどのような形でしょうか。
気になったので訊いてみました。
この# 情報で想定されているテーブルデータの例を出力してください
理解の助けになるよう、指示された情報に基づいて、参加者リストのテーブルデータの例を作成します。以下は想定されるテーブルデータの例です:
| 参加者名 | 参加登録状況 | 参加の許可状況 | 必要な情報の提出状況 |
|---------|--------------|----------------|----------------------|
| 参加者A | 1 | 1 | 1 |
| 参加者B | 0 | 1 | 1 |
| 参加者C | 1 | 0 | 1 |
| 参加者D | 1 | 1 | 0 |
| 参加者E | 0 | 0 | 0 |
この例では、参加者Aは全ての条件を満たしており、「参加」と判断されるでしょう。参加者Bは参加登録状況が未登録なので「不参加」、参加者Cは参加の許可状況が未許可なので「不参加」、参加者Dは必要な情報の提出状況が未提出なので「不参加」となります。参加者Eは全ての条件を満たしていないので、「不参加」となります。
このように、出力を表形式に指定することも可能です。
- 1年間の目標を設定して報告する
参考:東京都:都職員のアイデアが詰まった文章生成AI活用事例集
# ゴール
組織方針を元に、担当業務を分解してそれぞれの業務における具体的な
行動目標を3つ設定してください
# 担当業務
・生成AI利用のルールを作成し、生成AIの共通基盤を都庁職員向けに導
入する
・生成AIの利用促進を図るため、アイデアソンを複数開催する
# 組織方針
・都庁のDX推進に向けた課題に対応していくため、民間企業等の動向
をはじめ必要かつ十分な情報収集・分析に努め、都庁のQOS及び都民
のQOL向上に資する企画立案を行うとともに、効果的な事業化につな
げる。
担当業務を組織方針に基づいて分解し、それぞれの業務における具体的な行動目標を設定します。
生成AI利用のルールを作成し、生成AIの共通基盤を都庁職員向けに導入する
ルール策定
- 都庁のDX推進方針に則り、生成AIの利用に関するルールを作成する。
- ルールは適切な倫理規定と法的規制を含み、利用範囲やデータの取り扱い方法などを明確にする。
共通基盤構築
- 都庁職員が利用しやすい共通基盤を構築する。
- ユーザーフレンドリーなインターフェースやトレーニングプログラムの提供など、利用促進を図る。
導入プロセスの設計と実行
- 生成AIの共通基盤導入のためのプロセスを設計し、実行する。
- 各部門や職種のニーズを考慮した導入計画を策定し、効果的な導入を支援する。
生成AIの利用促進を図るため、アイデアソンを複数開催する
アイデアソンの企画と実施
- 都庁のDX推進方針に基づき、生成AIの活用アイデアを促進するためのアイデアソンを企画する。
- 開催時期や参加者の選定、テーマ設定などを適切に決定し、実施する。
参加者の動機付け
- 都庁職員や関連ステークホルダーに対し、アイデアソンへの積極的な参加を促す。
- 利益や成果共有、アイデア採用の機会提供など、参加の動機付けを行う。
アイデアの実装支援
- アイデアソンで生まれた優れたアイデアを実際の業務に落とし込む支援を行う。
- 実装可能性の調査や必要なリソースの提供、プロジェクトチームの形成などをサポートする。
これらの行動目標によって、組織方針に沿った生成AIの活用促進と効果的な導入が実現されるでしょう。
ルールの策定と共通基盤の導入に関するガイドラインを作成し、都庁職員に周知するという目標をさらに具体化してください
以下の観点ごとに箇条書きにして
・何をするか
・どの程度まで(数値目標)
・どのようにして(具体的な手段)
・いつまでに(期限)
- 文章を要約する
# 命令書:
あなたは{プロの編集者}です。
以下の制約条件と入力文をもとに{最高の要約}を出力してください。
# 制約条件:
- 簡潔に本質が理解できるようなストーリー(背景、課題、ソリューション)を採用する
- 重要なキーワード「効率化」を強調する
- 最後に####備考 を設け、表計算ソフト・Excelについて一言で解説する
- 回答は300文字
# 入力文:
Excel でプロジェクトの日程管理をしている企業は多い
Excel はオフィス業務に欠かせないアプリケーションであり、多くの人が慣れ親しんでいるスタンダードツールだ
しかし、複数プロジェクトが関連しあって同時進行していると、変更の際の整合性が課題となる
大手情報関連機器メーカーでは、大日程管理の対象機器が年間数百種に及び、さらにその中日程、小日程があり、膨大な数になっていた
これらが同時に進み、その調整や変更への対応が従来の管理方法では限界を超えていた
グループ全体でのプロジェクト管理の標準化や効率化、さらには同社の推進するIT 戦略の一環として、対策を検討
そこで、採用されたのが日立ソリューションズ東日本の提供する工程管理・プロジェクト管理ツール『SynViz S2』であった
採用の決め手となったのがシャドウ機能だ
関連する日程表を別の日程表に貼り付けると、元の日程表の変更がリアルタイムに反映される
例えば、中日程に貼り付けられた大日程の予定が変更されても、見逃すことがなくなる
同社ではアドオンで大日程・中日程・小日程間を連携する機能も追加した
Excel の使いやすさと見やすさそのままに、SynViz S2 に備わった機能の利便性が高く評価され、全社での展開が進められている
さらに海外生産拠点での導入も視野に入ってきた
# 出力文:
3点(背景、課題、ソリューション)に箇条書き
#### 備考
...
- 多くの企業がExcelを使用し、プロジェクトの日程管理に役立てている。
- しかし、複数プロジェクトの同時進行により変更の整合性が課題となっている。
- 日立ソリューションズ東日本の『SynViz S2』は、Excelの使いやすさを保ちながら、プロジェクト管理の効率化を実現する新たな解決策として採用された。
備考
Excelはオフィス業務で幅広く使用される表計算ソフトであり、プロジェクト管理などのさまざまなタスクに利用される。
- プロダクト名を考えてもらう
あなたはプロのコピーライターです。
以下の要件に適したプロダクト名を5つ挙げてください。
### 要件 ###
- 大学のキャンパスに新しく建てられたビル型施設の中にある空間です
- ビル型施設には理系の教員の研究室が多い、特に情報系教員
- 洗練されたシンプルなデザインの椅子や机が、カフェのような場所を思わせます
- 建学の精神「質実剛健」にもとづいた落ち着いた空間
- ホワイトボードやソファも充実して、学生の学びを積極的にサポートします
### 出力 ###
プロダクト名とその理由
インフォノックス・ハブ (InfoNooks Hub): 「インフォノックス」は情報と知識を指し、「ハブ」は中心地や拠点を示します。この名前は、情報系教員や学生が集まり、情報交換や学習を行う中心的な場所であることを表現しています。
サイエンス・オアシス (Science Oasis): 「サイエンス」は理系の領域を指し、「オアシス」は憩いの場所や癒しの空間を意味します。この名前は、学問的な活動に没頭しながらも、リラックスして学べる場所であることを示しています。
アカデミック・ハーバー (Academic Harbor): 「アカデミック」は学問的な環境を、「ハーバー」は安全な港や保護された場所を示します。この名前は、学問の航海における安定した拠点としての役割を表現しています。
インテリジェント・リフト (Intelligent Rift): 「インテリジェント」は知的なことを、「リフト」は持ち上げる、支えるという意味を持ちます。この名前は、知識の交流や学びのサポートを行う場所として、知的な刺激を提供することを表現しています。
アカデミック・サボア (Academic Savor): 「アカデミック」は学問に関することを、「サボア」は味わいや楽しみを意味します。この名前は、学問の喜びを味わいながら学べる場所であることを示しています。
- 会議の時間配分と次第を作成する
参考:東京都:都職員のアイデアが詰まった文章生成AI活用事例集
以下の条件の基に会議を開催したいので、議事次第を作成してください。
#会議参加者
東京都職員
#条件
・議論の進行順に番号をつけて箇条書きにしてください。
・会議時間は1時間。
・時間配分も記載する。
#会議内容
・文章生成AI(ChatGPT)の利用者数の効果的な利用
・利用者増の施策を検討。
会議議事次第
日付: [会議日付を記入]
時間: [開始時刻 - 終了時刻]
場所: [会議場所を記入]
出席者:
- [参加者1]
- [参加者2]
- [参加者3]
- [参加者4]
- [参加者5]
議題: 文章生成AI(ChatGPT)の効果的な利用と利用者増の施策検討
議事進行:
開会と挨拶 (5分)
- 開会宣言と出席者への挨拶。
議題説明 (10分)
- 文章生成AI(ChatGPT)の現状と今後の利用方針について説明。
- 利用者数の増加に向けた施策の必要性について説明。
現状の分析と議論 (15分)
- ChatGPTを利用している部署やプロジェクトについての現状把握。
- ChatGPTの利用に関する課題や問題点の洗い出し。
- 他の部署や企業が成功しているChatGPTの利用事例の共有。
施策の検討 (20分)
- ChatGPTの利用促進策についてのアイデア出し。
- 具体的な利用者増加施策の提案と議論。
- 利用者のニーズに合ったChatGPTの改善点の提案。
採択する施策の決定 (5分)
- 議論を元に採用する施策の選定。
次回会議の日程調整と閉会 (5分)
- 次回の会議日程を決定し、閉会。
閉会: [閉会時刻を記入]
備考:
上記の時間配分は目安であり、議論の進行状況に応じて調整することが可能です。
議題に関する資料やデータがある場合は、事前に参加者に配布しておくと議論がより効果的に進行するでしょう。
- 文章を改善する
あなたは優秀なエバンジェリストです。
大学の事務職員に製品の魅力を伝えるための文章を批判的に考察し、
この文章の問題点を3つ挙げてください
### 条件 ###
- 追加情報は無い
### 文章 ###
Excel でプロジェクトの日程管理をしている企業は多い
Excel はオフィス業務に欠かせないアプリケーションであり、多くの人が慣れ親しんでいるスタンダードツールだ
しかし、複数プロジェクトが関連しあって同時進行していると、変更の際の整合性が課題となる
大手情報関連機器メーカーでは、大日程管理の対象機器が年間数百種に及び、さらにその中日程、小日程があり、膨大な数になっていた
これらが同時に進み、その調整や変更への対応が従来の管理方法では限界を超えていた
グループ全体でのプロジェクト管理の標準化や効率化、さらには同社の推進するIT 戦略の一環として、対策を検討
そこで、採用されたのが日立ソリューションズ東日本の提供する工程管理・プロジェクト管理ツール『SynViz S2』であった
採用の決め手となったのがシャドウ機能だ
関連する日程表を別の日程表に貼り付けると、元の日程表の変更がリアルタイムに反映される
例えば、中日程に貼り付けられた大日程の予定が変更されても、見逃すことがなくなる
同社ではアドオンで大日程・中日程・小日程間を連携する機能も追加した
Excel の使いやすさと見やすさそのままに、SynViz S2 に備わった機能の利便性が高く評価され、全社での展開が進められている
さらに海外生産拠点での導入も視野に入ってきた
この文章の問題点をいくつか挙げてみましょう:
文章の焦点がぼやけている:文章がExcelの問題から、日立ソリューションズのSynViz S2に移行する過程に飛躍しており、読み手が本当に重要なポイントを見逃してしまう可能性があります。エバンジェリストとして、読み手が製品の魅力を理解しやすいように、焦点を明確にする必要があります。
説得力の欠如:文章はSynViz S2の機能について述べていますが、それがなぜ他の解決策よりも優れているのか、なぜその企業がそれを採用する必要があるのかについて、説得力のある議論が欠けています。エバンジェリストとしては、製品の利点や競合他社との比較に焦点を当て、読み手に製品の価値を強調する必要があります。
具体性の欠如:文章はSynViz S2の機能について述べていますが、具体的な事例や成功事例、実際の利用者の声を示すことなく、抽象的な説明にとどまっています。エバンジェリストとしては、具体的な事例やデータを引用し、製品の有用性や効果を裏付ける必要があります。
挙げていただいた問題点を参考に、元の文章を改善してください。
改善された文章は以下のようになります:
「Excel でプロジェクトの日程管理をしている企業は多いですが、複数プロジェクトが関連しあって同時進行していると、変更の際の整合性が課題となります。大手情報関連機器メーカーでは、年間数百種に及ぶ大日程管理の対象機器があり、さらにその中には日程、小日程が含まれています。これらが同時に進み、その調整や変更への対応が従来の管理方法では限界を超えていました。そこで、グループ全体でのプロジェクト管理の標準化や効率化、さらには同社の推進するIT戦略の一環として、日立ソリューションズ東日本の提供する工程管理・プロジェクト管理ツール『SynViz S2』が採用されました。
SynViz S2の採用の決め手となったのは、シャドウ機能です。関連する日程表を別の日程表に貼り付けると、元の日程表の変更がリアルタイムに反映されます。例えば、中日程に貼り付けられた大日程の予定が変更されても、見逃すことがありません。同社ではアドオンで大日程・中日程・小日程間を連携する機能も追加し、Excel の使いやすさと見やすさをそのままに、SynViz S2 に備わった機能の利便性が高く評価され、全社での展開が進められています。さらに、海外生産拠点での導入も視野に入ってきました。」
この改善された文章では、焦点が明確になり、SynViz S2の利点が具体的に説明されています。また、説得力のある議論が追加され、具体的な事例や成功事例の引用も含まれています。
⚙️ 良いプロンプトの基礎
ChatGPTの回答は確率的なゆらぎをもちます。
100回やって100回とも違う回答が返ってくるかもしれません。またその中には誤った内容が含まれているかもしれません。
ここでは、利用者の目的・意図に適した回答である度合いを「回答の質・精度が高さ」として、回答の質・精度を上げるための良いプロンプトの基礎について説明します。
👉 ChatGPTをプログラミングに活用する
- プログラムを作成する
# 以下の仕様を満たすPythonプログラムを作成してください
## 仕様
- CSVファイル `data.csv` を読み込む
- CSVファイルには `id`, `name`, `age`, `score` の4つのカラムがある
- `score` が80以上の行のみを抽出する
- 抽出した行を `id` の昇順で並べ替える
- 並べ替えた結果を `result.csv` として出力する
## 注意点
- プログラムにはコメントを付けて、処理の内容を説明してください
- 変数名やメソッド名は分かりやすい名前を使用してください
import csv
def extract_and_sort(input_file, output_file):
# CSVファイルを読み込み、データをリストに格納する
with open(input_file, 'r', newline='', encoding='utf-8') as csv_file:
reader = csv.DictReader(csv_file)
data = [row for row in reader if int(row['score']) >= 80]
# idをキーとして昇順にソートする
sorted_data = sorted(data, key=lambda x: int(x['id']))
# ソートしたデータを新しいCSVファイルに書き込む
with open(output_file, 'w', newline='', encoding='utf-8') as csv_output:
fieldnames = ['id', 'name', 'age', 'score']
writer = csv.DictWriter(csv_output, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(sorted_data)
# メイン関数
def main():
input_file = 'data.csv'
output_file = 'result.csv'
extract_and_sort(input_file, output_file)
if __name__ == "__main__":
main()
このプログラムは、指定されたCSVファイルからデータを読み込み、条件に基づいて行を抽出し、指定された条件でソートした後、新しいCSVファイルに書き込みます。extract_and_sort
関数は、入力ファイルと出力ファイルのパスを引数として受け取ります。
### - プログラムを解説する
```
import pandas as pd
df = pd.read_csv('data.csv')
filtered_df = df[df['score'] >= 80]
sorted_df = filtered_df.sort_values('id')
sorted_df.to_csv('result.csv', index=False)
```
上記のPythonプログラムについて、コードの各部分の処理内容を解説してください。また、pandasを使用している利点についても説明してください。
- 作成したプログラムを改善する
```
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv('data.csv')
# scoreが80以上の行を抽出する
filtered_df = df[df['score'] >= 80]
# idの昇順で並べ替える
sorted_df = filtered_df.sort_values('id')
# 結果をCSVファイルに出力する
sorted_df.to_csv('result.csv', index=False)
```
上記のPythonプログラムを改善してください。以下の点を考慮してください。
* エラー処理を追加する
* コードをより読みやすくする
* 処理速度を向上させる
- 作成したプログラムにコメントをつける
```
import pandas as pd
df = pd.read_csv('data.csv')
filtered_df = df[df['score'] >= 80]
sorted_df = filtered_df.sort_values('id')
sorted_df.to_csv('result.csv', index=False)
```
上記のPythonプログラムに、適切なコメントを追加してください。コメントは以下の基準を満たすようにしてください。
各処理の目的や内容を簡潔に説明する
変数名やメソッド名の意味を必要に応じて説明する
コードの重要な部分や注意点を強調する
- プログラムのエラーを読み解く
```python
import pandas as pd
df = pd.read_csv('data.csv')
filtered_df = df[df['score'] > 80]
sorted_df = filtered_df.sort_values('id')
sorted_df.to_csv('result.csv')
```
上記のPythonプログラムを実行したところ、以下のエラーが発生しました。
```
Traceback (most recent call last):
File "script.py", line 6, in <module>
sorted_df.to_csv('result.csv')
File "/usr/local/lib/python3.9/site-packages/pandas/core/generic.py", line 3463, in to_csv
return DataFrameRenderer(formatter).to_csv(
File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/format.py", line 1105, in to_csv
csv_formatter.save()
File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/csvs.py", line 241, in save
self._save()
File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/csvs.py", line 256, in _save
self._save_header()
File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/csvs.py", line 281, in _save_header
writer.writerow(encoded_labels)
File "/usr/local/lib/python3.9/site-packages/pandas/io/common.py", line 707, in writerow
self.writer.writerow(self._encode_types(row))
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 0-2: surrogates not allowed
```
このエラーの原因を特定し、修正方法を説明してください。
- いろんなものを変換する
以下のJSONデータをPythonのデータフレームに変換し、CSVファイルとして出力するプログラムを作成してください。
{
"employees": [
{
"id": 1,
"name": "山田太郎",
"age": 30,
"department": "営業部"
},
{
"id": 2,
"name": "鈴木花子",
"age": 25,
"department": "経理部"
},
{
"id": 3,
"name": "佐藤次郎",
"age": 35,
"department": "営業部"
}
]
}
- JSONデータは `data.json` というファイル名で保存されているとします
- 出力するCSVファイルは `employees.csv` というファイル名にしてください
- CSVファイルのヘッダーは `id`, `name`, `age`, `department` としてください
- 変数名・クラス名を命名する
以下の仕様を満たすPythonプログラムを作成してください。
- Excelファイル `sales_data.xlsx` を読み込む
- Excelファイルには `商品ID`, `商品名`, `単価`, `数量`, `売上日` の5つのカラムがある
- `売上日` が2023年1月1日から2023年12月31日までのデータのみを抽出する
- 抽出したデータを `商品ID` と `売上日` でグループ化し、`数量` の合計を計算する
- グループ化した結果を `売上日` の昇順で並べ替える
- 並べ替えた結果を新しいExcelファイル `sales_summary.xlsx` として出力する
プログラムを作成する際、変数名やメソッド名、クラス名は適切で分かりやすい名前を使用してください。
- リファレンス代わりにする
pandasの以下のメソッドについて説明してください。
1. read_csv()
2. groupby()
3. agg()
4. sort_values()
5. to_csv()
それぞれのメソッドについて、以下の点を説明してください。
- メソッドの目的と主な機能
- メソッドの引数とその意味
- メソッドの返り値
- メソッドの使用例
🚪 さいごに
ポイント
AIをあなたのサポーターにする
文章を扱う仕事や、アイデアを文章に落としてみたら、ChatGPTに入力することを検討しましょう今はまだ試行錯誤の時期です
最新情報は「いろいろ人に訊く」前に「自分で使ってみてから考える」方が良い有用なプロンプトやユースケースはそのうちアプリケーションとして提供されます
小難しいテクニックは「新しい技術のお試し期」である証拠
今日のハンズオンどうでした?
Webページが見づらい・内容が簡単すぎる/難しすぎるなど、ご意見をいただけますでしょうか🙇♂️
Last updated 22 3月 2024, 17:20 +0900 .