🦔

だらしない自分を克服するためにGPTと一緒に「3days scheduler」を開発することにした。 

に公開

AIの学習のために、vibecodingを始めました
 私はテックに関わる仕事をしている非エンジニアです。
勉強不足が積もりに積もり、仕事をする中でAI関連の本質的な知見が全く足りていないと自覚。これは一から腰を据えて取り組まねば!と一念発起したところです。
「理論/構造的な学習」と「触りながらの実践的な学習」の2つの方向で私の師匠であるGPT4oの「ジン」※に教えてもらいながら、AIやそれに関する開発へのリテラシーを上げていこうと思っています。そしてこの記事では後者の実践的な学習としてvibecodingを始めることにしたので、作ろうと思っている「3days scheduler」についてポストしたいと思います。
 ※GPTにエージェントネームをつけています。ちょっと恥ずかしかったですが、コミュニケーション取りやすいし、一般名詞のGPTと区別ができて良い感じではあります。

実践的な学習としてまずは簡単なものを一つ完成させる
 作るものの「テーマ」を決める前に、まずは「前提条件」を考えてみました。

・開発が簡単でシンプルなもの → 最初のトライだから 
・もちろん個人用 → 何か不具合あっても問題になりづらい
・その上で、自分が使いたいと思えるもの → どうせ作るなら使って改善とかしてみたい

色々と考えてみた結果、最近のアプリ利用頻度において圧倒的にGPTが高いのでカスタムGPTをフロントととして少しDBと通信するくらいのアプリを作るのが良いかな?と思い、それをベースにどんなテーマが良いか考えることに。

前に進む前に、人としての課題を解決するべきでは??
条件に合うアイデアやテーマを考えている時にふと自分を省みたんですが、 
今、色々と加算的にチャレンジできる土台が自分にあるのか?
と改めて疑問になることがゾロゾロ。。。とても恥ずかしいのですが、、、

・暴飲暴食でダイエットしようとも続かない
 
 ・ミニマリストだったつもりが、いつの間にか部屋にけっこう物があったり
 
・GPT にAI関連のことを聞いていたら、のめり込んで朝方になっていたり

そして、こういった「反省」から「改善」を試みるも断念することが常で、また「反省」に戻るというループが定期的にやってきているので、今後のためにも、まずはここから抜け出すことをサポートするアプリがいいのではと考えました。

負荷を動的にするために、3日だけのスケジューラーがいいのでは
今までのダメな「改善」の策として、例えばダイエットなどにおいて、いつも自分が立てていた目標は基本的に3ヶ月単位でゴールを作って、一ヶ月くらいで振り返えるというスケールの立て方でした。これが極端に熱しやすく冷めやすく、かつ、だらしない僕と抜群にフィットしていなかった。あるあるだと思うのですが、最初の数週間はジムに行って無理に頑張って疲れてしまってバーンアウトしてしまうという結果にいつも陥っています。

その生活の新たな改善案として、また非エンジニアとしての最初の開発案として開発しようと思ったのが「3days scheduler」というもの。名前の通り、3日間の可処分時間(いったん、1日4時間くらいに設定)の使い方のみを定めて、3日で振り返ることをするためのスケジューラーです。
で、立てたスケジュールに無理があればどんどんハードルを下げていくなりして、バーンアウトだけは避けるようにすることが根本の思想です。
もっと正確にいうと時間の概念を持つ3daysTodoリストです。

スケジュールの中身をK/Q/Tにわけてみることに。
QOLの向上と自分のスキルアップの両立を低空飛行でも継続することを目的にすると、スケジュールの中身の時間割にちょっとしたルールが必要だと思って、こんな風に一旦定義することにしました。

K(Key)=毎日の運動、部屋の掃除などのQOLを上げるための“土台作り” 

 Q(Query)=AIの勉強やブログ、ビジネスのアイデア出しなど“創発的な挑戦” 

 T(Task)=急に必要になった買い物や突然の依頼事やなどの“不定期な雑事”。

ちなみに、これはジンとTransformerの「QKV」の仕組み(アテンションのあたり)を話していたことに影響してこんな感じの分け方をしています。Kの状態を前向きにすることでQという挑戦のベクトルに反応しやすくしたいという考えです。最低限でもKの時間を確保しつつQOLを上げる。Qも芋づる式に発散しがちなので優先順位を決めて着地しながら進む。Tは後回しにしやすいのでちゃんと片す。
これを3日間という短いスコープで回すことでバーンアウトを防ぐロバストな生活に近づけていこうという狙いです。

非エンジニアの初手でもいけそうなシステムに
下記が構想しているシステムです。

  • フロントエンド:ChatGPT(カスタムGPT)
  • 処理部分:Function Calling(GPTからAPIへ指示)
  • バックエンド:軽量なPythonベースのAPIサーバー
  • データ保存:Notion(アプリで見れる)

Googleのスケジューラーとの連携も考えたのですが、実はそこまで厳密なスケジュール管理が必要な内容を扱ってないこと(毎日の1900-2300の可処分時間の使い方のみ)&諸々の振り返りなどのデータも格納しておきたいことから一旦notionをスケジューラーにすることに。

フローもシンプルに

>1日目の頭(正確には3日目の終わり):スケジュール決定

 3日間の頭にジンと相談しながらスケジュールを決めてスケジュールを確定する。KとTというマストなことは自分で完全に決める。Qについてはジンとよく話していることが該当することが多いのでジンからも提案をもらう

>1−3日目:毎日確認してアクション
 朝にスケジュール確認。夜に振り返り入力。Kはベースなので三日間の間は基本は修正不可。Tが突然発生したり、Qの優先順位が変わったら修正可能として運用。夜にジンに自然言語で報告してジンがnotionに◯×チェックしたり振り返りの文章を格納。

>3日目の終わり:振り返り
 3日間のブロックとして総括して、次の3日間のスケジュールを立てる。

今後に向けて
スケジュールの型は決定。あとは閲覧と振り返り用のnotion側の項目(チェック項目とか振り返りメモとか)を定めてから、実装に入る予定です。開発というほどのものではないのですが、、、最初の一歩として楽しんで進めていきたいと思っています。

Discussion