結論からいうと、これからの時代、エンジニアを目指すなら、まずはチャットAIの使い方を学ぶべきです。
本やサイトでプログラミング言語を学ぶより前にです。先にAI活用できていれば、学習効率が上がり、挫折率は下がります。
現役エンジニアにとってもAIのインパクトは大きいです。
使いこなしている人とそうでない人のコーディング、レビュー、テスト、設計書作成などの品質や作業時間はあきらかに違うはずです。
この先の時代は、AIが便利だから使うのではなく、AIを使いこなすことが開発の前提になっていきます。
AIの恩恵を受けられないと時代に乗り遅れるので、早く使いこなせるようにしておいたほうがいいです。
「ググる」からAIチャットへ:検索サイトの代わりになる
記事で確認するよりAIのほうが端的に質問に答えてくれる
いくつかの記事やマニュアルページを調べるよりも、圧倒的に短い時間で答えに近付けます。
うまく質問しないと求める答えは返ってきませんが、質問を最適化していけば、回答の精度を上げていけます。
ググるのはAIに聞いた後にしたほうが効率的な時代がやってきました。
自分が詳しくない分野の確認に便利
AIはあいまいな質問でも答えてくれるので、用語や概念がよくわからない分野のことを質問するのに向いています。
「あれをやるためのあれは何?」といった感じの質問でも、それなりの答えがえられます。
「子供でもわかるように説明して」
難しい文章やプログラミングコードを示し、説明させることもできます。そのときは「子供でもわかるように」と付け加えれば、さらに丁寧な説明をさせることができます。
プログラミングでは、1行ずつ説明させることも、長いコードを要約させることもできます。
行き詰まったときに代案確認にも便利
問題が解決できずに行き詰まってしまうと、人は視野が狭くなってしまいます。その視野を広げ別のアプローチを考えるのにもAIは役立ちます。
「このやり方でそもそもあってるか? 別のやり方を5パターン挙げて」などと聞けば答えてくれます。
【AIの基本】予測をコントロール
対話型AIを使いこなすには、AIが答えやすいように質問することが大切です。
ひとつの質問を何度も更新して、最適化していくのが効果的なやり方です。
検索サイトの代わりに日頃から使う
初めは何度も使ってクセを理解していくといいです。
チャットAIが情報調査のメインストリームになることは、まず間違いないので、早く慣れておくのがおすすめです。
AIが得意なこと
予測・最適化・分類・検知などが得意です。日頃から「AIが使えないか」という視点を持っておくといいです。
詳細に質問したほうがよい
背景、目的、要件、禁止事項、使用言語などを1つの文章(プロンプト)で簡潔に説明したほうが、よい回答がえられます。
文章が長いと誤解を招きやすくなるので、1文は短いほうがいいです。
AI用語
- プロンプト:チャットAIにする質問のこと、命令/コンテキスト(補足情報)/出力インジケータで構成される
- プロンプトエンジニアリング:プロンプトの改良や利用技術のこと
- 生成AI:文章や画像などを生成するAIのこと、Generative AI の訳語
- 対話型AI:質問に答えるチャットAIのこと
- 自然言語:ChatGPT などで使う文章のこと
- トークン:単語などのテキストの最小単位のこと、最大処理数や課金の単位になっている
ChatGPT以外のチャットAIも使える
ChatGPTが有名ですが、それ以外でも Perplexity や Gemini(旧Google Bard) など使えるAIがあります。
Perplexity はAIを活用した検索エンジンなので、厳密にはチャットAI(対話型AI)ではないのですが、ほぼ同じ使い方ができます。
また情報検索なら ChatGPT などよりも優れた結果がえられることも多く人気が集まっています。
AIの比較や詳細は次の記事の「とりあえずAIに聞く」という項目で説明しているので目次から参照してください。
【注意】AIを使うときは?
「意外と自由に答える」間違う可能性に注意
ハルシネーションといって、AIは答えを間違える可能性が常にあります。AIは自分の間違いに気付けないのでだまされないようにしてください。
また自分の間違いも認めないので、認めさせようとするのは無駄です。それよりもAIの予想や推論を誘導してよい答えをえらえるようにしていくべきです。
英語は日本に直させる
日本語で質問しても英語で回答してくることがあります。そんなときは「日本語で。」と付け加えれば日本語化できます。
聞き方で全然違う答えになる
回答は質問の内容次第で大きく変わります。基本的に詳しく質問したほうが回答の精度は上がります。
精度を上げるテクニックがいろいろ研究されています。別の項目で説明しているのでそちらで確認してください。
簡単なところでは、質問の背景や目的なども説明し、子供に質問するように丁寧に質問したほうがいいです。
違うAIも試す
AIによって性能が違うので試してみるといいです。
別のジック記事で紹介しているので参考にしてください ⇒ ロジックが思いつかない時に役立つ対処法【プログラミング】
AIの動作が止まったらリロード
どのAIも発展途上にあるのでWebサービスとしてはあまり堅牢ではありません。止まったらリロードするのがおすすめです。
公論に反することは正しく答えられない
常識やモラル、政府・マスコミなどが正論としていることと違うことはうまく答えられません。おそらく、それらを判断の根拠としている影響でしょう。
政治や医療などの分野で、独自の少数意見などを聞き出すのは難しいです。
学習に活用
初学者からベテランの新技術学習にまで幅広く活用できます。ロードマップなど根本的なアプローチ方法から確認していくのがおすすめです。
- 学習ロードマップを教えてもらう
- 演習問題を作ってもらう
- 生徒になってもらって教える
- 正しい考え方か確認/ファクトチェック(根拠の確認)
エンジニアのChatGPT活用法
シェアが大きいので、見出しはChatGPTとしています。ですが、他の対話型AIでも活用できる方法を紹介します。
コード生成
各種言語のコード生成が可能です。言語や利用技術を質問に追加してください。
必要な要件を細かく指定したほうがよいコードが生成されため詳細設計が重要です。
設計書の作成
チャットAIは通常の会話文章が得意分野なので、文章作成が得意です。
必要な機能を網羅的に洗い出したり、目的や意義などで信頼性を高めた文章に校正させることができます。
コピペしたコードの解説
全体の要約から、1行ずつすべて説明させることもできます。コードを元に仕様書を作成するときにも便利です。
コードの不明点や目的の確認
個々の処理は理解できるが、目的がわからないときなどに確認できます。
単純なコーディングの続きをやらせる
1~3まで例を書いて続きを100まで書かせたり、都道府県別の処理をいくつか自分で書いた後に、続きを書かせたりできます。
エラー解決
エラーメッセージを示し、原因と対策を聞けば、解決策を教えてくれる。
バグを探す
エラーにならないが起きてしまう不具合の原因と対策も答えてくれる。
コードレビュー
コードの目的を示しレビューを依頼すれば、問題点や改善点が確認できます。
【最適化】コードの修正/リファクタリング
エラーが出ているコードを修正させたり、変数/メソッド名を的確な名前に変えたりできます。
面倒なリファクタリングも最適化の案を提示させることができます。
テストコード/パターン作成
Pythonならpytestなどで網羅的にテストするなどと指定すると自動生成してくれる。
他のプログラム言語への移植
主要言語同士ならおおむね使えそうなコードで書き換えてくれる。
文章からコード生成
計算などの要件を文章で示し、それを満たす答えをプログラミングコードで答えさせることができます。数学の文章問題を解かせるようなイメージです。
外国語の翻訳/長文の要約
要約や説明など、行間を読んだ回答が出来ます。翻訳精度だけならDeepLなどのほうが上なので使い分けるといいです。
ログなどの分析
異常な部分の指摘や、問題の発見に使える。大量のログなどはAPIで読み込む必要がある。
プログラムの予測補完(ペアプログラミングAI/GitHub Copilot)
次に来るコードを予測して提案してくれる拡張機能がある。
文章の要約
長文を要約できるので、大枠を理解するのに使える。
情報抽出
長文を元に求められた答えを出させることができる。
分類/カテゴライズ
定義した分類のどれにあたるか答えさせることができる。
計算
四則演算や論理演算ができる。
人間が考えると、条件が増えるたびに、正しいかどうか判断しにくくなります。条件が多くなっても比較的正しく答えられるのがAIの利点です。
回答精度を上げる方法
AI研究結果から有意な効果がえられている方法を説明します。有意な結果とは、以下のテクニックを使うことで、統計的に数%から数十%以上はよい結果が出ているということです。
体感的に劇的な変化があるとは限りませんが、精度が上がる可能性があることは確かです。いろいろ試してみてください。
基本:ひとつのプロンプトを最適化
毎回、違う質問をすることもできますが、回答精度を上げるには同じ質問セット(プロンプト)を改良して、よりよい回答が得られるように最適化していくのが基本です。
求める処理結果を知らせてつつ質問
これはコード生成させて最適化するときに使えるテクニックです。
短い文章で必要な要件を全て詰め込む
1プロンプトでより完成度の高いコードを回答させるときに使えます。
原因と対処法を聞く
これも基本ですが、さらに回答の気になる部分をさらに聞いていけば理解が深まります。
細かい説明を聞く
素直に短いプロンプトに分解して回答させると、説明を省略されることなく回答させることができます。
「ステップ・バイ・ステップで考えて」
これを追加することで、手順を1から順に回答させることができます。文章だけよりもわかりやすくなります。
短気教育(AI推論チェーンの最適化)
AIは推論能力が高いので、先に関連情報を答えさせることで、短期的な教育ができます。
修造プロンプト(感情刺激プロンプト)
励ましの言葉をプロンプトに追加することで少し精度を上げることができます。
例)「君ならできる!」「もっとチャレンジしろ!」など
本家(?)の松岡修造さんの名言などはAIには分かりにくい可能性があります。そのままは使わないほうがいいでしょう。
「修造の言葉はAIにも刺さる!?」的な感じ。
試してもあんまり変わんない気がするけど、研究されていて有意な効果が出ている手法だよ。
AIが学習したビッグデータを平均すると、ポジティブな人の文章のほうが正しい確率が高かったということだろう。
ポジティブシンキングはやっぱりいいことなんだね。
敬語で質問
プロンプトで敬語を使うことでやや回答精度が上がります。
自己翻訳
プロンプトを英語に翻訳させて回答させることで精度を上げることができます。AIが英語製なので、英語のほうが精度の高い答えができるからです。
役割を与える
「あなたは優秀なエンジニアです」などとプロンプトに追加することで精度が上がります。質問者と同じ立場になったと仮定させてもいいです。
深呼吸させる(Take a Deep Breath)
「深呼吸してから答えてください」とプロンプトに追加することで精度が上がります。
プロンプトの再読(Re-Reading)
一度プロンプトを書き、「もう一度読む」と書いて、プロンプトをもう一度読ませると精度が上がります。
プロンプトを言い換えさせる(EchoPrompt)
校正させることでAIの理解度が高まり、精度が上がります。
回答を検証させる(Chain of Verification)
ハルシネーション(事実と違う回答)対策として、質問回答を繰り返し、各回答を検証させることで精度を上げることができます。
推論のやり方を教える(Take a Step Back)
推論のための概念や原理を教えることで精度が上がります。
テンプレートを用意
AIが理解しやすくなるよう情報のセットを用意しておくと回答精度が上がります。
例示
回答例を示すことで精度が上がります。
非線形思考へ導く(Inferential Exclusion Prompting[IEP])
非線形思考をさせることで精度が上がります。
対話型AIは線形思考で直線的な推論を行います。これを否定することで、非線形思考へ導くことができます。
また線形思考と統合することでさらに精度が上がります。多角的かつ創造的な推論をさせれば非線形思考に導きやすくなります。
そもそも多くの対話型AIは線形思考で直線的な推論パターンをしています。
これを非線形思考にすることで、関連の弱いことも創造的に推論することができるようになります。
【引用】ユーザサイドの Prompt Engineeringより
- 入力の明確化:5W1Hや出力文字数の目安を指定し、 曖昧さを排除する
- ロールの付与:GPTに役割および熟練度を設定する。
- 入力想定の教示:想定されるユーザからの入力内容を教える。
- 出力形式指定:得たい出力形式を指定する。 その例を書く。
- 質問回答例示:想定質問、 およびその回答の例示を与える。
- 段階的推論:結論を書かずに段階的に記載するように指示する。
- 目的の記載:手段だけでなく達成したい最終目的を書く。
- 知識・解法の提供:解決に必要な知識や論理展開の情報を与えたり、生成させる。
- 記号活用:プログラムに使われる記号や記法を取り入れる。 (マークダウン記法など)
- プログラミング活用:複雑だが順序の決まってる厳密な指示はプログラミング言語で記載する。
- 構造化:構造化された形式で指示を書く。 JSONやマークダウン記法など。
- 再帰的修正:一度出力した内容を、 観点別にGPTに修正させる。
- 英語化:英語で指示を書き日本語で答えさせる。
- 重要情報の後置:重要な情報はプロンプトの最後の方に記載する。
- 直接表現の利用:否定語は使わず指示語を使うなど、 婉曲表現を避ける。
- テンプレート活用:タスクに応じてテンプレートを用意しておく。
※プロンプトの効果は普遍的なものではなく、 モデルやバージョンや文脈によっても変わります。 あくまで参考情報です。
引用元:ChatGPT – Azure OpenAI 大全 – Speaker Deck
ChatGPT Copilot などのペアプログラミング/コード生成AI
これはコード補完機能を発展させたAIです。より多くのコードや関数・クラス、さらにはコード全体を提案してくれます。
GitHub Copilotが有名ですが他にもあるので紹介します。
便利なものであることは間違いありません。将来的にはコーディング補助の基本ツールになっていくと考えられます。
そのため、早く使い始めることで技術革新の恩恵を受けつつ、新技術に慣れておくことをおすすめします。
GitHub Copilot が使えるIDE
2023年11月現在では次のIDEで利用できます。今後はさらに増えていくでしょう。
- Visual Studio Code
- Visual Studio (※for Macは除く)
- JetBrains
- Neovim
GitHub Copilot の利用料
気になるお値段のほうは、個人利用が月10ドル(1ドル150円で1,500円)、1年契約で100ドルとお手頃価格です。
ちなみに、学生は無料(条件あり)、ビジネスアカウントは月19ドルです。(※1月30日計算で課金)
30日間、毎日使えば1日50円でお茶やコーヒー1杯にも満たない安さです。
生産性が上がるので、労働時間が減り、使える時間が増えます。実質的に時給アップと同じ効果になります。50円以上のメリットは十分あるはずです。
GitHub Copilot の登録方法
GitHubサイトでCopilotの利用登録をして、VSCode などのIDEに拡張機能を入れ、登録アカウントと連携させると使えるようになります。
使い方ですが、まずは GitHubアカウントを用意してください。ログイン後、アカウントアイコンから「GitHub Copilot」を選んで登録します。
1ヵ月契約でも1年契約でも30日間無料で使えます。30日間は試用期間なので解約可能で、30日後から課金が始まります。
支払いはクレジットカードとPayPalが使えます。
登録は英語なので用語を簡単に説明しておきます。英語なので漢字ではなくローマ字で入力してください。
- First Name:下の名前
- Last Name:名字
- Address PO bin:私書箱、建物内で個人を識別する番号(号室など) 住所内にある個人の郵便ボックスの番号
- Address line2:市区町村の後の住所(※省略可)
- City:市区町村
- Postal/Zip code:郵便番号
- State/Province:都道府県
登録の途中で”Suggestions matching public code”という選択肢があります。有効にすると公開コードと一致する可能性のある提案をブロックできます。
オープンソースライセンスに違反しないようになるため有効にしておいたほうがいいです。
他の部分はよく考えれば正しく登録できると思います。
VSCodeへのインストール
GitHubサイトで登録が出来たら、次はVSCodeで拡張機能の「GitHub Copilot」と「GitHub Copilot Chat」をインストールします。
VSCodeやGitHubの使い方は次の記事で説明しています。
私が、2023年11月に試したときは、GitHub と VSCode を連携した状態だったので、GitHubサイトで Copilot を登録した後に、VSCodeで拡張機能をインストールしただけで、自動で同期され使えるようになっていました。
先にGitHubとVSCodeのアカウントを連携させておいたほうが楽です。(VSCode&GitHubユーザーは連携していると思いますが)
GitHub Copilot の使い方
- Ctrl + I :プロンプトを使った提案
- Ctrl + Enter:別タブで候補提示
- Tab:提案の受け入れ(決定)
- Esc:提案の拒否
- まとめて提案を表示させる:Ctrl+Enter キー
- 単語単位で受け入れる:Ctrl + 右矢印キー
- 単語単位での受け入れを元に戻す:未設定
- 行末でのEnterや任意の位置でのTab:候補の自動表示
- Alt + [ or ] :提案候補の前後切り替え
- インライン候補をトリガーする(独自):Alt +/
- Labs 機能リストを表示:Ctrl+Shift+Alt+e
- サイドバー開閉のトグル(独自):Ctrl+Shift+a
参考:GitHub Copilot導入後、初めて使う時。(豊富な使用例付き)
URL:https://qiita.com/masakinihirota/items/0e58a6b921e4420a2882
Copilotはソースを開いたタブで Ctrl + I を押し、実装するコードの役割や目的を入力すると、コードを提示してくれます。
コードが提示された後に「再生成」ボタンを押すと、別パターンのコードを再生成してくれます。
Ctrl + Enter では別のタブで候補を提示させることができます。候補の近くに「Accept Solusion」と表示されるので、これを押すとそれがコードに反映されます。
コメントで処理内容を書いて行末から改行することでもコードが提示されます。グレーで提示されTabを押すと決定されます。
コードは、コメントがなくても、行末からEnterで改行したり、Tabを押すだけでも提示してくれます。
これで生成されたコードを直接利用でき、AIのブラウザ画面と往復する手間も減り生産性が上がります。
チャット機能
GitHub Copilot Chat という拡張機能が後から追加されました。
Ctrl+i でAIの自動動作を待たなくても、好きなときにチャットで質問して提案を受けることができます。
またサイドバーからチャットウィンドウを開けるようになっていて、そこでチャットAIが使えます。
翻訳などもできて便利です。技術情報の翻訳は他の翻訳サイトなどより、若干性能がいいとの声もあります。
GitHub Copilot を新規インストールすると同時にインストールされます。
すでに GitHub Copilot をインストールしている人は、手動でインストールしてください。
初学者の学習にペアプログラミングAIを使うべきか?
学習や教育の方法が根本的にくつがえってしまうので、慎重論が優勢のようです。
しかしながら、プログラミング業務でのAI利用の普及は時代の必然であり、この流れを止めることはできないでしょう。
将来的にはペアプログラミングAIはコード補完のように活用される標準機能となる可能性が高いです。
初学者もベテランも自分ではコードは書かず、提案されたコードの正しさや問題点を見つけられればよいという時代になるでしょう。
これは自然かつ合理的な技術活用の未来ですから、早く使いこなしていったほうが賢いでしょう。
プログラミング/コーディングスキルの意味も変わり、AIを使いこなす力がスキルの主要な部分になっていくはずです。
いずれはプログラミングやSQLの資格試験でも利用が認められるようになっていくと考えられます。
学習するなら、本当は本やマニュアルを見て、適切な実装が出来る方がいい気がする。
本やマニュアルのほうが関連情報もわかるから、より多様性のある実装が可能なはずだ。
ところが、その多様な実装方法をAIが提示してくれたらどうだろうか?
やっぱり、AIを使わないという選択肢ではないね。エンジニアがAIを使いこなす未来しか見えないな。
ChatGPTでエラーがでる原因
次の可能性が考えられます。
- ログイン時のエラー
- ChatGPTが回答できない状態になっているエラー
- ポリシー違反のエラー
- 自動翻訳機能によるエラー
- 回答が途中で止まるエラー
- 回答に「な」しか表示されない
- 希望の回答が得られない
- その他のエラー
他のコード生成AI
AWS Codewhisperer が無料で使えます。VSCodeとも連携できます。残念なことに、まだ精度が低いので特に使う必要はないでしょう。
答えはすでに出てしまいましたが、いろいろ調べたので、調査結果を公開しておきます。
インストール方法
VSCodeの拡張機能で「AWS Toolkit」をインストール
左メニューのAWSアイコンから「Codewhipser」>「Start」> 「Sign up or Sign in」を選択
ブラウザから認証
AWS ビルダー ID の作成
VSCodeでStartで表示されたタブをリフレッシュしてやり直し認証する
使用可能言語
Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, シェルルスクリプト, SQL, Scalaなど
※HTML/CSSはおそらく未対応
対応IDE
JetBrains(IntelliJ IDEA, PyCharm, WebStormm, Rider), VSCode, AWS Cloud9, ASW Lamdbaコンソールなど
使い方
コメントで処理を説明、英語推奨、精度は落ちるが日本語も認識する
⇒Enterでコードが提案される、左右キーで変更、Tabで決定
以後、繰り返し
コード生成AIのまとめ
このようなAIによるサポートのおかげで、コーディングの労力が減り、開発において本質的な部分である詳細設計により力を入れられるようになります。
エンジニアの仕事である設計と実装(コーディング)は、以前からSE/PGにわけられていましたが、今後はPGの労力が減り、SEのスキルが求められるようになっていくでしょう。
【Q&A】よくある質問
コード生成AIを使うメリットは?
開発・レビュー・テストの速度向上により労力と時間が短縮できます。
また記憶の間違いなどのヒューマンエラーも防ぎやすくなります。
AIが活用されている職業は?
- AIエンジニア
- データアナリスト
- データサイエンティスト
- コンサルタント
- 事務員
- 公務員
- 警備員
- 建設作業員
- スーパー/コンビニ店員
- タクシー運転手
- ライター
データを扱う職種、固定パターンのある事務系職種、監視カメラやレーダーなどのIoT機器を使った警備業種、レジなどの単純作業の自動化、定型パターンのあるライティングなど、幅広く活用されています。
論理的な作業であっても固定パターンのあるものは、機械化さえできればたいていのことはAIでサポートしたり置き換えることができます。
生成AIの欠点は?
精度が上がるにつれて本物に近い偽物を作る精度も上がってしまいました。偽物を本物と誤解させる不正や犯罪に悪用されることがあります。
また今後も精度の向上はAIへの過剰な信頼感を人々に持たせていくため、AIの誤りに気付けず問題が起こるリスクが高まっていきます。
AIの活用方法は?
学習を元にした予測の精度を上げていくことができるのがAIの特徴です。
機械との連携が進められていて、さまざまな物がAIの予測や判断を元に実行できるようになっています。
動力さえあれば無限に動作できる機械の特徴を生かし、自動化や長時間作業できるのも大きなメリットです。
機械化することで利益拡大やコストダウンできる分野では、あらゆる分野でAIが活用され、判断・予測・実行が自動化されていくでしょう。
コーディングAIとは?
GitHub Copilot のようなプログラミングのコーディング支援専用の生成AIのことです。ペアプログラミングAIやコード生成AIと呼ばれています。
ChatGPTなどのブラウザで動作するAIでもコード生成できますが、それらは対話型AI、チャットAIなどと呼ばれています。
広い意味で解釈すれば、ChatGPTなどをコーディングAIに含めることもできるでしょう。
近未来のAI活用予想
AIでコードを生成し、テストケースも作られ、テストするところまで自動化されるようになるでしょう。
そのときにエンジニアに求められるスキルは、AIへの指示を的確に行うスキルと、AIの間違いを素早く見抜くスキルになるでしょう。
すでに、AIが生成したコードを、AIに検証させ、問題点を探すこともできます。
この精度が上がっていけば、エンジニアの仕事は直接的なコーディングから目的や優先度などを検討する抽象的な仕事に変わっていくでしょう。
AIが生成したコードには手直しが必要なことが多く、再指示とレビューが必要になります。
今のところ、コードの8割はAIが生成し、残り2割はプログラマーが修正して完成させるという使われ方が多いでしょう。
AI性能と使いこなす側の人間のスキルが上がれば、自動でプログラムコードを生成できることから、ノーコードツールに近い位置づけになるでしょう。
エンジニアのスキルとしては、AIにどれだけ的確な指示が出せるかが、評価ポイントとなるでしょう。
無料期間中で、多少失敗しても問題ない新サービスなどではプロダクトファーストで積極的に活用していくことができます。
これに対して失敗が許されない金融系や企業の基幹システムなどでは、再指示やレビューの手間から、AIのコード生成はサンプル確認程度に留まるかもしれません。
まとめ
この記事でAIの価値や使い方が分かってもらえたと思います。
AI活用術がエンジニアの標準スキルになる日は近いですから、初学者もベテランも一定レベルまでは使えるようにしておいたほうがいいです。
この記事を読めば、その一定レベルは超えられますので、マニュアル代わりに使ってみてください。
便利な使い方などが分かったら、また更新していく予定でので、お楽しみにしてください。
コード生成AIの公開は、まさにシンギュラリティだった。
開発事情がガラッと変わってしまったけど、もう後戻りはできないから受け入れて活用していくしかないだろうね。
コメント