ChatGPTと自分の作業環境改善の話
ChatGPTと自分の作業環境改善の話
世の中の技術はどんどん進化していきますが、それにぴったりと追従していくのは難しいと感じています。たいてい新しいものは、進化の最中にあるので変化も激しく、追いかけるのが大変になるのは当然といえるでしょう。
私は自分の環境をあちこち自分で作っていますが、そのときに気をつけているのは、最先端を追いすぎないようにするということです。まあ実際には、追いかけることができないというのが正直なところです。
では何が判断基準になるかというと、「自分の役に立っているかどうか」です。自分が作ったツールが日々の活動の役に立っているなら良いツールだし、そうでないならあまり良くないツールということになります。
もちろんそんなに単純な話ではありません。自分の使うツールを作るために勉強すること自体が楽しい場合もありますし、「役に立つ」ということ自体が、かなりふわっとした概念だからです。
今ちょうど esapp をバージョンアップしようとしていて、大変楽しい毎日を過ごしています。これはなかなか良いステップを踏んでいると思っていて、まず、今まで動いていた Ruby で作った CGI があります。これは問題なく動いていて、しかも数年来使ってきた実績があります。
しかしながらその一方で、重たくて反応が鈍い部分や、長年使ってきたことであちこちに機能を追加してきたために見通しが悪くなり、改造がしにくくなっている部分もあります。ところが今回、ChatGPT の助けで JavaScript バージョンに書き換えを進めてみると、そうした点がいい感じに改善されることがわかってきました。実際に動くコードがあるので、少しずつ改良を進めていくことができます。つまり、動いているものをすべて止める必要がないという意味です。
そして、実際に使っている機能が動くようになったら新しいものに切り替えていく、という段階的な改善が可能になります。これはまさに私が望んでいる「インクリメンタルな環境改善」そのものですね。
ChatGPT の助けは非常に大きくて、自分のアイディアを実現するスピードが速くなったというのもありますし、自分の IT に関する理解を新しい情報でアップデートする機会になっているという側面もあります。チュートリアルというか、学び直しというか。
ただし、そこで注意したいのは、ChatGPT が提案してくるいくつかの方法はあまりにも新しすぎたり、全面的な書き換えを必要としたりすることが多い点です。良い感じに自分の理解をアップデートして、それに合わせてコードを改善していくことが大事だと思っています。さもないと、結局自分がメンテナンスできなくなってしまうからです。しばしば ChatGPT ははしごを外すような振る舞いをすることがありますので、そうなると途方に暮れてしまいます。
そこで私がやっているのは、大抵関数単位やいくつかのモジュール単位で ChatGPT に作成してもらい、動作確認ができた段階で本番環境に組み込むという方法です。そして本番環境に組み込むのは、私自身が行っています。
ところで話は少し変わりますが、そうやって改善してきた esapp を実際に使ってみると、アイディアがいろいろ湧いてきました。一つは、昨日もすでに投稿しましたが、AIパネルとの融合です。OpenAI の API を叩く小さなサーバーはすでに立ち上げてあるので、そこにアクセスして esapp の中から音声入力を整形できるようになりました。これは素晴らしい改善です。しかも段階的に進めてきたので、トラブルはかなり少なく抑えられています。
さらに、昨日アップデートしたことで内部構造がシンプルになってくると、新たな展開を考えられるようになります。具体的には、esapp で入力している文字列をそのまま他の SNS に流すということができるようになったからです。つまり、こういうことです。音声入力で esapp の中に今考えていることを通訳し、それをそのまま作業ログに流すだけでなく、たとえば Bluesky や Twitter に投稿するボタンをその画面に用意することで、シームレスに SNS に流すことができると気がつきました。
これはとてもうれしい発見で、というのも、少しずつインクリメンタルな環境改善をしていく中で、自分のワークフロー自体が改善していくという結果につながっているからです。まあ、SNS に簡単に投稿できるようになることが「改善」かどうかには議論の余地がありますけれど、それは置いておきましょう。
私は普段、特に作業をしながらいろいろなことを考えています。とくにメタな情報や作業環境の改善、また作業をどういう考えで行っているかということ、それ自体について考えることがよくあります。でも、それをいちいち文書化したり投稿したりするのは手間がかかるので、実際にはあまりやっていません……いや、まったくやっていないわけではなく、むしろよくあるんですが、それでも自分が思いついていることの何割かしか投稿できていません。でも、esapp の改善によって投稿のハードルが下がるのであれば、さらに面白い展開ができるような気がします。
ChatGPT という存在が、自分のコード生成を助けてくれる。それは非常に大きなことで、単にプログラムを作ってくれるというだけでなく、自分の環境全体の改善につながり、そもそも「改善しよう」と思うきっかけになったり、自分のワークフローが実際に変わっていく原因となってくれるからです。
このこともまた、メルマガの題材にしたいところですね。実際、最近 ChatGPT を使った活動がたくさんあるので、メルマガに書きたいことがあふれている感じがしています。楽しい毎日です。
https://link.hyuki.net/mm/
世の中の技術はどんどん進化していきますが、それにぴったりと追従していくのは難しいと感じています。たいてい新しいものは、進化の最中にあるので変化も激しく、追いかけるのが大変になるのは当然といえるでしょう。
私は自分の環境をあちこち自分で作っていますが、そのときに気をつけているのは、最先端を追いすぎないようにするということです。まあ実際には、追いかけることができないというのが正直なところです。
では何が判断基準になるかというと、「自分の役に立っているかどうか」です。自分が作ったツールが日々の活動の役に立っているなら良いツールだし、そうでないならあまり良くないツールということになります。
もちろんそんなに単純な話ではありません。自分の使うツールを作るために勉強すること自体が楽しい場合もありますし、「役に立つ」ということ自体が、かなりふわっとした概念だからです。
今ちょうど esapp をバージョンアップしようとしていて、大変楽しい毎日を過ごしています。これはなかなか良いステップを踏んでいると思っていて、まず、今まで動いていた Ruby で作った CGI があります。これは問題なく動いていて、しかも数年来使ってきた実績があります。
しかしながらその一方で、重たくて反応が鈍い部分や、長年使ってきたことであちこちに機能を追加してきたために見通しが悪くなり、改造がしにくくなっている部分もあります。ところが今回、ChatGPT の助けで JavaScript バージョンに書き換えを進めてみると、そうした点がいい感じに改善されることがわかってきました。実際に動くコードがあるので、少しずつ改良を進めていくことができます。つまり、動いているものをすべて止める必要がないという意味です。
そして、実際に使っている機能が動くようになったら新しいものに切り替えていく、という段階的な改善が可能になります。これはまさに私が望んでいる「インクリメンタルな環境改善」そのものですね。
ChatGPT の助けは非常に大きくて、自分のアイディアを実現するスピードが速くなったというのもありますし、自分の IT に関する理解を新しい情報でアップデートする機会になっているという側面もあります。チュートリアルというか、学び直しというか。
ただし、そこで注意したいのは、ChatGPT が提案してくるいくつかの方法はあまりにも新しすぎたり、全面的な書き換えを必要としたりすることが多い点です。良い感じに自分の理解をアップデートして、それに合わせてコードを改善していくことが大事だと思っています。さもないと、結局自分がメンテナンスできなくなってしまうからです。しばしば ChatGPT ははしごを外すような振る舞いをすることがありますので、そうなると途方に暮れてしまいます。
そこで私がやっているのは、大抵関数単位やいくつかのモジュール単位で ChatGPT に作成してもらい、動作確認ができた段階で本番環境に組み込むという方法です。そして本番環境に組み込むのは、私自身が行っています。
ところで話は少し変わりますが、そうやって改善してきた esapp を実際に使ってみると、アイディアがいろいろ湧いてきました。一つは、昨日もすでに投稿しましたが、AIパネルとの融合です。OpenAI の API を叩く小さなサーバーはすでに立ち上げてあるので、そこにアクセスして esapp の中から音声入力を整形できるようになりました。これは素晴らしい改善です。しかも段階的に進めてきたので、トラブルはかなり少なく抑えられています。
さらに、昨日アップデートしたことで内部構造がシンプルになってくると、新たな展開を考えられるようになります。具体的には、esapp で入力している文字列をそのまま他の SNS に流すということができるようになったからです。つまり、こういうことです。音声入力で esapp の中に今考えていることを通訳し、それをそのまま作業ログに流すだけでなく、たとえば Bluesky や Twitter に投稿するボタンをその画面に用意することで、シームレスに SNS に流すことができると気がつきました。
これはとてもうれしい発見で、というのも、少しずつインクリメンタルな環境改善をしていく中で、自分のワークフロー自体が改善していくという結果につながっているからです。まあ、SNS に簡単に投稿できるようになることが「改善」かどうかには議論の余地がありますけれど、それは置いておきましょう。
私は普段、特に作業をしながらいろいろなことを考えています。とくにメタな情報や作業環境の改善、また作業をどういう考えで行っているかということ、それ自体について考えることがよくあります。でも、それをいちいち文書化したり投稿したりするのは手間がかかるので、実際にはあまりやっていません……いや、まったくやっていないわけではなく、むしろよくあるんですが、それでも自分が思いついていることの何割かしか投稿できていません。でも、esapp の改善によって投稿のハードルが下がるのであれば、さらに面白い展開ができるような気がします。
ChatGPT という存在が、自分のコード生成を助けてくれる。それは非常に大きなことで、単にプログラムを作ってくれるというだけでなく、自分の環境全体の改善につながり、そもそも「改善しよう」と思うきっかけになったり、自分のワークフローが実際に変わっていく原因となってくれるからです。
このこともまた、メルマガの題材にしたいところですね。実際、最近 ChatGPT を使った活動がたくさんあるので、メルマガに書きたいことがあふれている感じがしています。楽しい毎日です。
https://link.hyuki.net/mm/
この文章は、音声入力を利用して結城浩のマストドンに投稿したものです。