詳しくはないけどWEBで(β版)

詳しくなくて、すみません。

ChatGPTすごすぎる。。。

こんにちは、今日はchatGPTについての話題を取り上げたいと思います。最近、chatGPTの技術が進歩しすぎて、多くの人々が、実際に、彼らの仕事を失うことを心配しています。chatGPTは人工知能(AI)の進化した形であり、言語生成における能力が高くなっています。その能力によって、chatGPTは、極めて自然な対話スタイルを手軽に実現できることができます。これは非常に便利である一方で、人間の仕事を脅かすこともあります。

たとえば、最近では、chatGPTを利用して、ある種のテキストの自動化ができるようになっています。これによって、多くの仕事が、システムによって自動化され、人間の手による作業が不要になる可能性があります。例えば、文章や報告書を打ち込む仕事は、chatGPTによって自動化されるかわりに、人間が必要とされなくなってしまう可能性があります。

また、chatGPTが進化するにつれて、多くの会社が彼らのビジネスにこの技術を導入することが予想されます。例えば、カスタマーサポートのようなものは、完全にchatGPTによって代替されることが予想されます。多くの企業は、非常に高度で自然なチャットボットを導入し、彼らの顧客に24時間、体系的なサポートを提供することができます。

しかし、ここで私たちに考えるべきことがあります。chatGPTによって自動化されることになる仕事は、ほとんどが単純な作業であり、重要な意思決定や人間同士のコミュニケーション能力を必要としません。単純な作業を自動化することは、人々がより重要な仕事や、より創造的なキャリアを追求することができるようになるかもしれません。そして、chatGPTを使用することで、ビジネスの生産性を向上させ、企業がより多くのシェアを獲得することができるようになるかもしれません。

最後に、chatGPTは私たちの社会にとって、重要な役割を果たす技術であることを、肝に銘じておく必要があります。私たちは、AI技術が持つ潜在的なリスクを注意深く見極めつつ、役立つ方法で利用し、将来をより良くするために活用することができるようになります。

 

--

って、ここまで実はChatGPTにお願いして書いてもらったもの。。

すごすぎる。

依頼としては、「chatGPTが凄すぎて、仕事がなくなりそうと言うことを題材にブログ記事を書いて」ってお願い。

というか、すごいとは聞いていたけど、すごいを通り越してというか、まぁ、文章とかはあらかじめ用意しているんだろうけど、でも仕組みがさっぱりわからん。

 

 

ちなみに、文章とかそもそも依頼内容を理解するのもすごいけど、なによりもすごいと思ったのがプログラミング能力。

この記事

qiita.com

別にChatGPTを調べようと思ったわけではなく、久々にpythonを思い出そうと思ってみてたときにたまたまこの記事にヒットしてすごすぎと思った。。。(AIどころか、小学生並の感想の私だが。。。)

 

で、ちょっとマネてというか、もともとやりたかったことをお願いしてみた。

でも途中で切れた(なぜなら、LINEなんで笑。自分もちゃんと登録しようかな。。)

お願いとしては、

Pythonでタスク管理をするプログラムを作ってください

作業者ごとに管理できる
時間を分単位で見積もりと実績を管理できる
締切日を管理できる
進捗率、状況を管理できる
データはExcelで保存
現在の状況から終了見込みを予想する
入出力はExcelで行う」

ってお願いしたら、以下

ーー

それでは、Pythonでタスク管理をするプログラムを作成していきたいと思います。以下のような機能を実装していきます。

- 作業者ごとのタスク管理
- 時間の見積もりと実績の管理
- 締切日の管理
- 進捗率と状況の管理
- 終了見込みの予想

また、データはExcel形式で保存し、入出力もExcel形式で行うようにします。
必要なパッケージは、openpyxl、datetime、math、os、statisticsです。それでは、コードを見ていきましょう。

```python
import openpyxl
from datetime import datetime, timedelta
import math
import os
import statistics


# ファイル名
FILE_NAME = "task_management.xlsx"


# 現在の日付を取得する関数
def get_current_date():
    dt_now = datetime.now()
    return f"{dt_now.year}/{dt_now.month:02d}/{dt_now.day:02d}"


# タスク管理クラス
class TaskManagement:
    # コンストラク
    def __init__(self):
        # Excelファイルを開く
        self.wb = openpyxl.Workbook()
        self.ws = self.wb.active
        self.ws.title = "TaskManagement"
        self.ws.append(["作業者", "タスク名", "見積時間", "実績時間", "進捗率", "状況", "締切日", "終了見込み"])

    # タスクを追加するメソッド
    def add_task(self, worker, task_name, estimated_time, deadline):
        # 現在の日付
        current_date = get_current_date()

        # 進捗率、状況、終了見込みは"-"としておく
        progress_rate = "-"
        status = "-"
        expected_finish = "-"
        # Excelにデータを書き込む
        self.ws.append([worker, task_name, estimated_time, "", progress_rate, status, deadline, expected_finish])
        # Excelファイルを保存する
        self.wb.save(FILE_NAME)

    # タスクの実績時間を更新するメソッド
    def update_actual_time(self, task_name, actual_time):
        # タスク名が一致する行を探す
        for row in self.ws.iter_rows(min_row=2, min_col=2, values_only=True):
            if row[0] == task_name:
                # 実績時間を更新する
                row = list(row)
                row[2] = actual_time
                row[4] = self.__get_progress_rate(row[2], row[3])
                row[5] = self.__get_status(row[4])
                row[7] = self.__get_expected_finish(row[4], row[2], row[6])
                # Excelにデータを書き込む
                self.ws.append(row)
                # 変更した行を削除する
                self.ws.delete_rows(self.ws.max_row - 1, amount=1)
                # Excelファイルを保存する
                self.wb.save(FILE_NAME)
                break

    # 進捗率を計算するメソッド
    def __get_progress_rate(self, estimated_time, actual_time):
        if actual_time == "" or actual_time == 0:
            return "-"
        progress_rate = actual_time / estimated_time * 100
        return f"{math.floor(progress_rate)}%"

    # 状況を取得するメソッド
    def __get_status(self, progress_rate):
        if progress_rate == "-":
            return "-"
        progress_rate = int(progress_rate.replace("%", ""))
        if progress_rate >= 100:
            return "完了"
        elif progress_rate >= 50:
            return "進行中"
        else:
            return "未着手"

    # 終了見込みを計算するメソッド
    def __get_expected_finish(self, progress_rate, actual_time, deadline):
        if progress_rate

ーー

残念ながらここできれてしまったんだが。。

正しいかどうかはわからんけど、でもすごい。。

しかも、コメントまで入れてくれるなんてほんとありがたい。

 

よくあの関数、なんて名前だっけとか、使い方どうだったかを調べることがあるけど、なんかそれすら不要な感じになってきた。

あとは、デバッグすればいいだけ。。

 

まぁ、プログラマーの仕事が完全になくなるわけじゃないし、これが正しいかっていう検証(それもそのうちしてくれそうな気はするけど。。。)はしないといけないし、そうなると、要件の出し方とかが肝になるんだろうけど、いやぁ、すごいわ。。一部の仕事は本当に減りそう。(コーディングする楽しさは仕事としては、なくなるんかもしれないなぁ。。。先の記事の人も書いてたけど。。)