ChatGPT, 開発者は安全か?
🤖

ChatGPT, 開発者は安全か?

작성자
ユミンユミン
카테고리
Life.Log
작성일
2023년 07월 06일
태그
Memoirs
いつの間にかChatGPTが発売されてからかなり時間が経ち、話題とは別にこれをどのように活用していくべきか少しずつ慣れてきたような気がします。最初に話題になった時は大きな感動がなかったが、今はChatGPTを毎日活用し、多くの助けを受けています。
最近韓国で発売したBardも使い始めました!
最近韓国で発売したBardも使い始めました!
 
開発者としてChatGPTによって置き換えられるのではなく、ツールとしてどのように活用すればいいのかまとめてみたいと思います。
  1. コード作成
    1. GitHub Copilotと同様に、実装したい機能を伝えると、それに対応するロジックを提示してくれます。また、コードの一部を作成した後、残りの部分を完成させるコードを作成してもらうことも可能です。
       
      (出典: ChatGPT)
      (出典: ChatGPT)
       
      上の図は二つの点間の距離をマンハッタン式で計算する関数をPHPコードで実装するようにした例です。さらに、ChatGPTではプログラミング言語間の変換も要求することができます。
      (出典: ChatGPT)
      (出典: ChatGPT)
       
  1. コード解析
    1.  
      ChatGPTは複雑なコードを分析して把握するときに便利です。特定の言語に慣れていない場合や、あるクラスや関数の機能を素早く把握する必要がある場合に活用できます。
      (出典: ChatGPT)
      (出典: ChatGPT)
       
      このようにChatGPTに質問すると、コード解析を素早く進めることができます。
       
  1. バグおよびエラー分析
    1. ソフトウェア開発過程で時間を奪う作業の一つがバグやエラーを探すことですが、コード分析と同様にChatGPTを活用して素早く見つけることができます。特に、コードを作成する時、未だ気づかなかった間違いを見つけるのにかなり便利な助けになることもあります。
  1. テストケース作成
    1. 個人的にChatGPTを活用して便利だと感じた部分の一つがテストケース作成です。 特に、ユニットテストで繰り返し作業していた部分を最小化することができ、思いもよらなかったテストケースに対するヒントを得ることができるのがメリットです。テスト主導開発の原則に反しない範囲で適切にChatGPTを活用すれば、テストケース作成にかかる労力を大幅に減らすことができます。
      (出典: ChatGPT)
      (出典: ChatGPT)
       
      上の図のようにChatGPTに特定のメソッドや関数に対するテストケース作成を依頼することができます。また、希望するテストケース命名規則(Test Case Convention)を指定すると、それに合わせてテストケースを作成してくれることもあります。
       
  1. 開発文書の作成
    1. 開発者はソフトウェア開発過程でドキュメントを作成することが多い。しかし、開発文書を明瞭に作成するのは手間がかかります。この時、ChatGPTを活用すれば、開発文書作成時間も短縮することができ、ChatGPT APIを通じて文書作業を自動化することも可能です。
      (出典: ChatGPT)
      (出典: ChatGPT)
       
      ドキュメント作業以外にもコードリファクタリング(Refactoring)でもChatGPTを活用することができます。このようにChatGPTはソフトウェア開発過程の多くの部分に活用することができ、開発者の開発時間を短縮し、バグ発生の可能性を減らす役割を果たすことができます。
 
もちろんメリットばかりではありません。
  1. 信頼性とセキュリティの問題
    1. OpenAIでもChatGPTがいつでも誤った情報を生成してしまう可能性があることを明記しています。 つまり、完全に信頼できないということです。
      したがって、ChatGPTをソフトウェア開発に活用するとしたら、コードやドキュメントを再検討しなければなりません。また、ChatGPTが提供するコードや文書は、似たような質問をする他のユーザーにも同じように提示される可能性があるため、セキュリティ面でも注意しなければならない。
  1. 著作権問題
    1. GitHub Copilotのように、ChatGPTが提供したコードには著作権の問題がある可能性があります。既に作成されたデータを基に学習するため、この点は念頭に置いておく必要があります。
 
使いながら感じることですが、まだChatGPTが開発者を置き換えることができるとは思いません。コードを書いてもエラーが発生する場合がかなりあり、ロジック自体を思い通りに完璧に実装することはできないので、開発者の能力が重要だと思いました。
ただし、データが蓄積され、人工知能が徐々に発展するにつれて、既存のコードを作成する単純な開発者の役割は代替できるようになると思う。 したがって、開発者は直接コードを分析して作成する役割から脱却し、人工知能を監督し、ソフトウェア開発および配布過程で発生する可能性のあるリスクを管理し、解決する役割を担うようになるのではないかと思います。
 

댓글

guest