- コロナ禍での福岡転居から
- タイトルコールとhokacchaさんの自己紹介
- Ubie社での仕事について
- Adventarのこれまで
- AIとエンジニアリングの形の変化
- AIとOSSの変化
タイトルコールとhokacchaさんの自己紹介
Ubie社でのNode.jsバックエンド開発
Adventarのこれまで
- Adventar
- アドベントカレンダーに関するアレコレ、QiitaアドベントカレンダーとAdventarの中の人に聞きました。 - Qiita Zine
- Sponsor @hokaccha on GitHub Sponsors
AIとエンジニアリング・OSSの変化
- My AI Adoption Journey
- Harness engineering for coding agent users
- GitHub - hokaccha/givy: A local GitHub-like git viewer with a web UI.
- cmux — マルチタスクのために作られたターミナル
- GitHub - yoshiko-pg/difit: A lightweight command-line tool that spins up a local web server to display Git commit diffs in a GitHub-like Files changed view
- GitHub - k1LoW/mo: mo is a Markdown viewer that opens .md files in a browser.
- Ghostty
- はやく目的のコードに辿り着く
- GitHub - mash/osc8wrap: Make terminal output clickable - works with interactive programs like claude
- Development containers
- Bazel
- GitHub - cloudflare/vinext: Vite plugin that reimplements the Next.js API surface — deploy anywhere
- @ryoppippi
- @__sosukesuzuki
- GitHub - k1LoW/git-wt: A Git subcommand that makes
git worktreesimple - git-wtを導入した - koicの日記
感想
まだ感想はありません。最初の1件を書きましょう!
サマリー
このエピソードでは、福岡に移住したソフトウェアエンジニアのhokacchaさんをゲストに迎え、OSS活動やキャリア、そしてAIとエンジニアリングの未来について語られています。hokacchaさんは、Ubie株式会社でのNode.jsバックエンド開発や、個人プロダクトであるAdventarの運営について話しました。特に、AIの進化がエンジニアリングの形を大きく変えつつある現状と、それに伴う「ハーネスエンジニアリング」という新しい概念について深く掘り下げています。また、AIを活用した開発ツールや、OSS開発におけるプルリクエストの役割の変化についても考察されています。後半では、hokacchaさんが最近開発したローカルGitビューワー「Givi」や、新しいターミナルエミュレーター「cmux」について紹介され、AI時代の開発環境のあり方や、OSSコミュニティにおける貢献の形がどのように変化していくかについて、具体的なツールや事例を交えながら議論が展開されました。 AIの台頭により、コードを書くという行為自体は減少する可能性があるものの、AIがコードを書く環境を整備するエンジニアリングの重要性は増すという見解が示されました。また、個人がOSSツールを開発するハードルが下がり、よりパーソナルなニーズに合わせたツールが生まれる一方で、大規模OSSへの貢献のあり方や、信頼関係に基づいたコラボレーションの重要性についても言及されています。AI時代においても、新しいアイデアやコラボレーションから生まれる価値は変わらず、むしろスターが生まれやすい環境になる可能性も示唆されています。
福岡移住とhokacchaさんの自己紹介
なんか、4月になってあったかくなってきたんですけど、福岡もあったかいですか?
あったかいですよ。 あったかいんだ。桜も咲いてる?もう散ったぐらい?
桜はね、もうすぐ散りそうな感じですね。 ああ、そうなんだ。花粉とかあんの?
花粉がめちゃくちゃあるよ。 どこ行っても一緒ですね。
どこ行っても一緒か。福岡住んで何年ぐらいだっけ?
もう5年ぐらいになりますね。 5年間?でもそんなもんかな。そうなんだ。
ちょうどコロナ禍ぐらいの時に引っ越してきたんで。
ちょうどそのタイミングなんだっけ? そうですね、コロナ禍でした。
あのタイミング結構引っ越す人多かったもんね。なんか福岡に行った人結構いた気がする。
うーん、まあちょうどいいからね、結構。
住みやすそうだよね。 うん、めちゃくちゃ住みやすいですよ。おすすめです。
それは何よりですね。なんか子育てとかもね、やりやすそう。
いやーほんとね、やっぱ東京に住んでた時は、保育園問題がね、なかなか大変だったけど、そういうのに気を取られなくていいのはいいですね。
ああ、そういうのないんだ。待機児童全然いないみたいな。
うん、保育園もそうだし、学童に入れないとかさ、そういうのも全然ないから。
じゃあいいね。そうなんだ。
そっか、じゃあなんかだいぶ会ってないんだね。多分だって引っ越してから会ってないでしょ、対面では、僕とほかちゃんは。
そう、覚えてない。最後に会ったのがいつかは覚えてないね、ちょっと。
そうだよね、もう下手すりゃ10年、10年とは言わんが。
そうかもしんないね。
そうだよね。
なんかね、ちょいちょい話してはいる気がするけど、対面で会ったのはそう言われてみりゃだいぶ時間経ってる。
なんかコミュニティもちょっと違う感じだもんね、今や。
最近はそうですね。
まあそういう感じで、この番組は趣味でOSSをやっているものだという番組で、OSS作家のソムがゲストを交えながら趣味や仕事について話をするポッドキャストです。
ということで、今日のゲストはほかちゃんです。よろしくお願いします。
はい、よろしくお願いします。
ちょっと事前に伝え忘れてたけど、ちょっと自己紹介を軽くしてもらっていいでしょうか。
はい、インターネット上ではほかちゃというIDでいろんなところで活動しております。
ソフトエンジニアをやっておりまして、今は福岡に住んでますという感じですね。
OSS活動でいうと、昔はいろいろ作ったりしてたんですけど、最近はそんなにOSSはあんまり描いてないかなという感じですけど、
アドベンターというサイトとかそういうのを作ったりしてますという感じですね。
はい、ソムさんとはかなり古くからの付き合いで、多分このポッドキャストに出ているゲストの中でもサイコさんぐらいの付き合いなんじゃないかなと思うんですけど、
ちょっと調べたんですけど、もともとスガモCSSというコミュニティで最初にあったかなと思うんですけど、
ソムさんが最初にスガモCSSというイベントに出たのが2009年らしいですね。
調べたら、スガモCSSでググったら上から3番目ぐらいにソムさんのブーが出てきて、2009年だったんで、
多分その時に自分もいたと思うんで、だから17年ぐらい、17年以来ぐらいの付き合いですね、昔から付き合いですね。
すごい長いね。
今でこそね、ソムさんってGoとかファールで有名だと思うんだけど、当時はね、フロントエンドのコミュニティで、CSSのコミュニティで知り合ったっていうね、
意外かもしれないですけど、そういう付き合いですね。
そうですね、意外。
そう、そのスガモCSSがね、多分当時まだ始まったばっかりぐらいで、2回目か3回目ぐらいに行った気がする。
だいぶ初期ですね。
そう、その時ね。
他ちゃんがいて、当時はね、HTMLとか、いわゆるウェブ標準中みたいな感じだったから、
そういうCSSで頑張ってどうレイアウトするかとか、そういう話とかをしてた気がしますね。
あんま覚えてないけどな、初期にどういう話してたか。
覚えてないね。
ほんとに覚えてない。
そう、だからそうなんだよね。当時は僕、だからSIRとかにいて、で、ちょっと転職し活動してるときに、結構難航したんだけど、
他ちゃんが当時カヤックにいたから、紹介してもらって、僕はそれで運良くカヤックに入ることができたみたいなのがありました。
そうですよね、自分が多分Sugamo CSSに最初行ったときはカヤックで働いたときだったんで、
そうそうそう、それで紹介したんですけど、サムさんとは結局入れ違いになったんですよね。
なんで、実は一緒に働いたことはないという感じですよ。
確かに、一緒に働いたことは全くないんだね。
そう、実はね、そうなんですよ。付き合いは長いんだけど。
そう。
Ubieでのバックエンド開発とAIの影響
まあ、そういう人たくさんいるからな。
まあでもそうか、他ちゃん結構一社一社長めだよね。
カヤック以降は長めですね、その後は。
まあ4,5年とか5,6年とか、そのぐらいのスパンで転職してるんで、最近はわりと長いですね。
なんか、今どんなことしてんの?
最近はね、今はUBIってとこにいるんですけど、
普通にソフトエンジニアをしてますね。
コードは、コード書いてるかって言われると、AIが書いてるんで、自分では書いてないけど、
エンジニアリングは普通にしてて、
マネジメントとかは別にしてるわけじゃないんで、普通にエンジニアリングしてますって感じで、
なんかね、アーキテクチャーの改善とか、そういうことをやってる感じですね。
まあ、バックエンドやってますね、ほぼに、最近は。
へー、そうなんだ。あれ、GOだっけ?
なんかコトリンもあったけど、結構GOに寄せるみたいなのを何年か前に言ってたよね。
そうそうそう。
ノードジェイスとGOでリアーキするって話で、
自分はノードジェイスの部分をやってるんで、
コトリンのアプリケーションをノードジェイスに移行するみたいなのを、
最近はずっと、ここ1、2年ぐらいかな、やってるって感じですね。
そっか。なんかその辺り、バックエンドノードとかだと、
どういうスタックでやってるの?
あと、他のランタイムとかも気になったりしないんですか?
まあ、そうね。ランタイムで言うと、
いろいろ最近は、BANとかRENとかあるけど、
やっぱ、さすがに安定してるのはノードジェイスかなって思うんで、
ランタイム変えるのはあんまり考えてないけど、
まあ、普通にスタックで言うと、バックエンドだと、
NestJSとかGraphQLとか使ってるんで、そういう系ですね。
なるほどね。そっか。
結構でもAIに欠かせてるっていう感じなんすよね、きっと。
最近はもうね、AIが欠いてますね。
いや、もう、AI様々だよね、本当になんか。
いや、本当にね、すごい。このやっぱり半年、1年半年ぐらいで、
すごい様変わりしたかなって思ってますね。
めっちゃ1年どころじゃないっていうか、
まあ1年だけど多分、うん、そうだよね。
クロードコードが出てきたのが、1年ちょいぐらい前。
去年の2月ぐらいだと思うんで、そっからすると1年ぐらいだけど、
特にやっぱここ半年ぐらいで性能も上がってきたし、
本当に手で書くよりAIにお願いした方が早いっていうことが増えてきたよね、この半年ぐらいで。
増えてきたよね。
さすがに何か会議的というか、様子を見てきた人たちも、
もうこれは何か使わざるを得んなっていうか、
そこも通り越して使うのが当たり前になってきてるっていう感じがすごく。
いや、本当に変わりましたね。
すごいよな。
AIによってやっぱそのプログラマーの職種なくなるかどうかみたいな話ってよくある話だと思うけど、
まあなんか、やっぱここ半年ぐらいでプログラマーっていう職種はさすがになくなりそうだなと思ったね。
エンジニアリングは必要だと思うんだけど、プログラムを書くっていう行為はこの先どんどん減っていく。
なんか、ほかちゃんはアドベンターっていういい個人プロダクトを持ってるわけじゃないですか。
まあその多分日本のエンジニアみんなお世話になってると思うんですけど、
で、それを結構そういう新しい技術で作り直すみたいなことをちょいちょいやってる印象なんですけど、
なんかここ2年ぐらい、なんかかなりそういうことができるチャンスだったんじゃないかなっていうのを思ったんですが、
なんかそこで取り組んだこととかってあるんですか。
それはね、実はなくて、やろうやろうってはずっと思ってるんですけど、
なかなか手をつけられてないだけでやってなくて、やりたいのはやりたくて、
具体的には何をやりたいかっていうと、アドベンターって個人サイトでやってるサービスなんですけど、
結構自分の技術的な実験上にしてるところが結構あって、
もともと10年ぐらい前かな、最初に開発したのは。
Railsで最初書いたんですけど、その時Rails全然知らなかったんで、
ちょっとRailsの勉強なんか作ってみればっていうので作ったんだけど、
その後なんかいろいろあって、
今はGoでサーバーサイドがAzure RPC動かしてて、
クリエイトサイドからAzure RPC Webってやつで読んでる、なかなかエッジが効いた構成なんですけど、
ちょっとGRPCとかAWSの勉強したかったんで、それも兼ねて利益してそんな感じになったんですけど、
かなりそこから5年、6年ぐらい経ってるんで、割と化石みたいな技術スタックで動いてて、
技術スタックもそうだし、AWSで今Fargateとか使って動いてるんで、
結構お金かかってて、何もしてないのに月100ドルぐらいかかったりしてるんで、
個人運営で特に何も収益あげてないサイトなんで、
その辺もちょっとどうにか安く済ませたいっていうのがあって、
全部クラウドフレアに載せたいっていうのはあって、
それをやりたいんだけど、やりたいと思ってて、
多分今AIにやらせるとすぐできるかなって思ってるけど、
なかなか手が付けられてない、いろいろ忙しいんで手が付けられてない状態って感じがまだある。
そういうのをやるのはマジで本当にAIでやれば割と一瞬でできると思ってるんで、
安全に。やってないだけ、ただやってないだけ。
もともとそういうデータを維持しながら、結構空きセクションをガラッと変えるみたいな面白いことをAIなくてもやってたわけだから、
確かにAIがほんとに。
本当にそう。
でもインフラごとやっぱり引っ越すって結構大変なんだよね。AIでやってもちょっと大変、そこは。
DVも引っ越さないといけないし。
データベース自体はずっとAWSにあるっていう感じなのか。
データベースもずっとコロコロ変えてるんだよね。
MySQLにしたりPostgreにしたりMySQLに戻ったりして、3,4回ぐらい変えてて、その度に。
大したデータ量じゃないから、引っ越すのもそんなに大変じゃないんだけど。
その時の気分によってね、いろいろ。
大したデータ量じゃないといえばないのか。
テキスト中心だし、だいたい毎年1,000個ぐらいできるんだっけ、アドベントカレンダーは。
数公開してたよね。
そうだね、そんぐらいかな。
だから大したデータ量じゃないし、そもそもあれってアクティブな時期が11月から12月の間ぐらいだから、それ以外の時期は多少サービス止めても別に特に見てる人はいないから。
サービス止めてDV引っ越しても別に、そんなに影響ないって感じだから楽なんだよね。
確かに。
面白いよな。
なので皆さん、ぜひほかちゃんにGitHubスポンサーとかあげてるから払ってあげるといいんじゃないでしょうか。
喜びます。
月100ドルぐらいずっとかかってるんだけど、円安になってからさらに高くなってるんで。
そうだよね。
きつくはないんだけど、高いなって思う。
確かに、クラウドフレアに載せるのは良さそうだね。
なんかワーカーズとか使ってみたいしね。
そうなんだよね、たぶんクラウドフレアに移行すると、試算してないけど10分の1ぐらいにあると思うから。
したいんだけどな。
すごいよな、個人でちょっとしたサイト運営だったら本当にお金かかんないからな、クラウドフレア。
僕のこのポッドキャストもクラウドフレア上で静的配信してるようなもんだから、本当にお金は1円もかかってないみたいな感じでやっております。
そうだよね、安いよね。
これ音声データも上げてるけど、音声データも下りはお金かかんないみたいな感じなので、全然。
あれどっちかな。
まあとにかく、普通にお金が発生するラインまで使ってないっていう感じ。
いやなんかね、そんなにお金困ってるわけじゃないけどさ、個人で運営してるサイトで特に収益上げてないって話になると、月100ドルとかかかってると、うーんってなるね。
確かに、解約できないサブスクみたいな感じだもんね。
2000円のサブスクとかだとちょっと使ってなかったら止めたくなっちゃうもんね。
100ドルだとね。
なくせるもんだったらなくしたいって感じだね。
そっか。
AI時代のエンジニアリングとハーネスエンジニアリング
まあでもAIによって結構エンジニアリングの形が変わるんじゃないかみたいなことを言ってるけど、
まあ絶対変わって、すでにもう変わってるけど、そのあたりは。
それこそチームの体制とか、開発のフローみたいなのって変わったりしたのってあるの?
なんか話せること話せないことあると思うんだけど。
そうだね。仕事の話で言うと、今今変わってるっていうよりはこれから変わってくだろうなって思ってるのは、
最近流行りだとハーネスエンジニアリングっていうのがよく言われてるけど、
エンジニアはコード書くところじゃなくて、
AIがコード書く環境を整えていくところに注力していく。
そこにエンジニアリングしていくってところが主な仕事になるんだろうなとは思ってて、
さっきも言ったけどやっぱりコード書くっていうのは後的に業務の内容からは減っていくと思うんで、
いかにAIが精度高くコードを書けるかとか、
あるいはいかに並列度を上げて作業できるかみたいなところとか、
あるいは例えば実際に開発するところだけじゃなくて、
例えばエラー検出とかパフォーマンスモニタリングとかそういうのも含めて、
AIが能動的にそういうところに気づいて勝手に直していくとか、
自己修復作用が働くようなそういう仕組みを整えるみたいなところに、
もうちょっと比重が寄っていくんだろうなって思ってて、
今後多分自分も業務的にはそういうところに注力するんだけど、
そういうところに今後面白さもあるし、新しさもあるんじゃないかっていうふうに。
そうだよね。今作るところが絶対ボトルネックになってる。
ボトルネックじゃないや、どんどん速くなってるから他のところがボトルネックになってるし、
ただ逆にちゃんと自分たちが開発したものがちゃんと価値を生んでるかとか、
何か問題起きてないかみたいな価値検証のところもまたAIにかなりやってもらえれば、
逆に本当にサイクルを早くできるし、
ちゃんと自分たちの作ってるものの価値を実感できるみたいなところがあるよなっていうのは思ったりはしてるね。
そうそう、まさにそうだね。
だから今だとプロダクトエンジニアみたいな人たちがそういう開発して、
価値検証してみたいなことやってるけど、
多分そういうプロダクトを実際作ってる人たちはどっちかっていうとPDMみたいな人たち、
今PDMと言われてるような人たちがやってる業務の方にシフトしていくのかなと思ってて、
エンジニアリングをもうちょっとやりたいって人たちは、
そういう基盤を作る方にシフトしていくみたいな感じになっていくんじゃないかなと思ってね。
あとそうだね、QAとかちゃんとお客様に使ってもらえてるかとか、
そういったところもどんどんAIを活用して、
そういったところにAIを入れ込むのも知恵とエンジニアリングが必要なところだから、
まさにそうだね。
全然やることはあるなっていう感じはするよね。
そういうところが今後のエンジニアリングの中心になるかなと思ってるね。
やっぱその品質とかね、毎日機能要件みたいなところをどう仕組み化していくかみたいなところがね、面白いところじゃないかな。
いろんなものをAIで中間レイヤーというか、
作業がだいぶ階層的になってたのを飛ばせるなっていうのは思ってるから、
うまくやれば楽しいんじゃないかなとは思ってるけどね。
なんかエンジニアの仕事としては全然まだ楽しめる要素は残ってるんで、
まだしばらくは大丈夫かなって思うけどね。
2,3年後とかわかんないけど。
まあでもなんか結構、わかんないな。
AIがもう全部本当にやってくれるってなると。
ハーネスエンジニアリングみたいなのが結構言われてて、確かに大事だなっていうのは僕も思ってて、
なんかあんまり違和感がないんだけど、
なんか割と定義が定まってないとか、
あんまりそんな大げさなことを言っても仕方ないみたいなことを言ってる人もいるように思うんだけど、
どういうふうにほかちゃんはハーネスエンジニアリングを考えてるんですか。
そうね、まさに定義は人それぞれバラバラだし、何を指すかっていうのも人によってたぶんまちまちではあるけど、
結局どうAIがうまく自律的に動けるようにするかっていう仕組みをいかに作るかっていう話だと思ってて、
それがどの領域までそれをやるかっていうところは結構人によってぶれはあるけど、
結局仕組みを作るのをどうすればいいかみたいなその方法論だと思うんで、
そういう話じゃないかなって思うけどね。
そもそもハーネスエンジニアリングの定義ってどういうものですか。
定義はかなりだから人によって定義もそこもぶれてるよね。
そうだよね。もうなんかね、だんだんこういろんな、AIに何を渡すかみたいなところがどんどん広がってきてるからね。
そうだよね。なんかそのハーネスエンジニアリングの定義を今考えるのはあんまり意味ないと思ってて、
これがハーネスエンジニアリングだっていうのを、これはハーネスエンジニアリングで、
それはハーネスエンジニアリングに含まないよみたいな話は全然意味ないと思ってるんで、別に何かやらなくていいかな。
こういうのがAIが働く上で、こういうことを仕組みとして整えていくっていうのが大事っていう認識があれば別にいいと思う。
そもそもハーネスエンジニアリングみたいな言葉って半年とか1年すれば多分もう別の概念がまた出来上がってなくなっていくと思うんだよね。
そうだね。
なんかあれだよね、割と細かいバッドノアを積み重ねてもしょうがないよね。
1年後、2年後にいらなくなるようなものを細かいもので埋めても仕方ないよねっていうのはあるんだけど。
プロンプトエンジニアリング、コンテキストエンジニアリングときて、確かにAIにとって理解しやすいようにしたほうがいいよねぐらいの感じだから。
でもなんか割と今はこのツールがいい、このモデルがいいみたいなの。当事者としては楽しんでる分にはいいけど、逆にあんまり将来いらなくなるようなワークアラウンド、バッドノウハウで消耗してもしょうがないよなみたいに思う部分はありますね。
うん、それはめちゃくちゃあるし、結局そういうのって多分ツールの進化とかモデルの進化によって多分いらなくなると思うんだよね。
そうだよね、なんかもう本当に今すごいコンテキストサイズめっちゃ増えてるから、もうガバッと食わせていい感じにやってくれるから本当すごいなって思うね。
そうそう、まさに。だってさ、1年ぐらい前とかは多分そのコンテキストサイズがまだちっちゃいから、ラグみたいな手法で必要な情報を検索して必要な情報だけ食わせるみたいな方法が主流だったけど、コンテキストサイズが増えてくるともう全部食わせりゃいいじゃんって話になってくるわけで。
でも1年後とかには多分もう全然なんか違う話してると思うんだよな。
そうだよね、そうそうそう。まあだから別に、そうそうそう、本当になんかLLM自体が結構その細かい精度にこだわるよりも、ちゃんとバンバン回してたほうがパフォーマンス上がっていくよっていうモデルだから、なんか結局同じようなところにいってるなっていう感じはするけど。
でもあれだよね、多分ハーネスエンジニアリングで大事なのはやっぱりその手綱みたいなもんだから、結局その品質がリポジトリなり文書の品質が揃ってないとどんどん、なんていうか、拡散してっちゃって、なんていうか、書き方も統一されてないしひどいものができてくるみたいなことになっちゃうから、やっぱそこはちゃんと整えていきましょうねみたいなのがあったりするよね。
そうそう、それもあるし、何が正しいかっていうのはちゃんと人間が与えないといけないから、そこをちゃんと作りましょうねっていうのがまず一本目としてあると。テストもそうだし、リントとかそうだし、そうそう。
それを整えてないと、AIがコードを書いたときに何を正しいとするかっていうのがブレが出てきちゃうんで、そこの枠組みだけは人間が決めましょうねって、そういう話をしてると思う。
そうだよね。なんかすごい、AIって素直だからさ、素直じゃないこともあるんだけど、人間に比べると素直というか、たぶんまだそんなにたくさん人格がないから、人格もあるけど、たぶんちゃんと言ったコーディング規約だったりとか、ルールをちゃんと守ってくれるじゃん。
だから人間だったら結局、めんどくさいなって守んなかったり、割とそのコーディング規約とかそういうのが重厚になりすぎて、結局我々的に守らない人が出てくるし、なんか僕もそういうのたくさんのは嫌だから、あんまり整えたくないなって思ってたけど、でもAI向けにちゃんと整えてあげるとAIはちゃんと守るし、ある意味それが本当に効果が出てるルールなのかどうなのかみたいなのも検証しやすいから、
そこは結構、通常の人間向けの規約とかとは違うところだなっていうのは思ったりしますね。
まさにね、そうだね。その規約とかの改善も含めて、たぶん開発のフローに入れた方が良くて、
今回の開発でこういうことがあったけど、こういう規約も追加した方が良いんじゃないかみたいなのもAIに判断させてどんどん改善していくみたいなのも、
開発フローに組み込むことによって、自律的にAIがどんどん規約、ハーネスも含めてAIが改善できる仕組みを作るみたいなのができるといいんだと思う。
そうだね。やっぱそういうところもAIにやってもらうみたいになってるから、楽というか楽だし。
ローカルGitビューワー「Givi」とcmuxの紹介
それこそドキュメントと行動が不一致になってるところとか、立ちどころに直してくれるから。
めちゃくちゃあるよね、人間が出たね。
そう、それな本当に。なんか最近はOSSとか作ったりしてるんですか。
そうですね、最近作ってないですよって最初に言ったけど、ここ2週間ぐらいでちょっと個人的なツール、個人的なツールはちょいちょい作ってはいたんだけど、
最近また作ってて、そうなんですよ。これはどういうツールかっていうと、
これはGibiってやつですか。
Gibiってやつですね、はい。Gibiですけど、これは何かっていうと、ローカルでGitのリフとかマークダウンのビューワーとかファイルツリーとかを表示するやつで何のために作ったかっていうと、
最近ね、ターミナルのアプリケーションをC-Maxってやつに乗り換えたんですよ。
きく、最近きくわ。
そうそう、そこ何かっていうと、クロードコードとかとインテグレーションして、クロードコードセッションを監視して、
人間がアクセプト必要なときとか、あるいはセッションが終了したときとかに何かいい感じに通知を送ってくれたりとかするっていうターミナルアプリケーションで、
もともとその自分はカーソルとかVS Codeみたいなエディターの中にターミナル起動して、その中でC-Max動かして、そこでクロードコード起動してみたいな感じで開発したんだけど、
複数のクロードコードをいっぱい動かしてると、どこで許可求められてるとか、どのセッションが終了したとかが全然わかんなくなっちゃって、これはつらいなっていうので、
それでC-Maxがそういう通知をいい感じにやってくれるっていうのを使い始めたんですよ。
C-Maxってもう一個特徴があって、ブラウザーがインテグレートされてるんですよね。
ターミナルの一個のタブとしてブラウザーのビューが起動できるみたいな感じになってるんですよ。
それを使うと、ブラウザーベースのDIFITっていう、吉川さんっていう人が作ってるツールがあって、
GitHubのプロリクエストのビューみたいな感じで、そのローカルのDIFを見れて、GitHubのレビューみたいな感じでレビューしたやつをAIに投げられるツールがあるんです。
それとかもブラウザーベースで動いてて、あとM.O.っていうケイチロウさんっていう方が作ってるマークダウンビューがあって、
それもブラウザーベースで動くんですけど、そういうのを使ってると、
C-Maxでクロードコードを起動してコードを書かせて、そのDIFを見るのにDIFITを使ったり、
マークダウンのドキュメントを見るのにM.O.を使ったりしてたんですよ。
ブラウザーベースで起動できるので、同じC-Maxのアプリケーション内で完結できて便利に使ってたんですけど、
なんかちょっとそのDIFITとかM.O.になんかもうちょっとこうなるといいのになとかあったりとか、
あるいはファイルビューアーとかファイルツリーとかみたいな、
で、その辺をいかに自分好みにして投稿したやつを作るかっていうので、
作ったのがそのGIVIってやつで、自分しかたまめには使ってないですけど、
そういうのを作ってるっていう感じですね。
へえ、そうなんだ。
GIVIの話も聞きたいけど、C-Maxもちょっと聞きたいというか、
そうか、C-Maxってそういうものなんだ。なんか全然把握してなかった。
なんかまた新しいなんかターミナルマルチプレクサが出てきたのかなって思ってたんだけど、
C-MaxとT-Maxはなんかそのレイヤーが違うんですよね。
違う違う、ターミナルマルチプレクサじゃないや。
ターミナルエミュレーターだ、新しいターミナルエミュレーターが出てきたんだなって思ってて、
でも僕最近Ghostyに乗り換えたばっかだから、別にあんまり見なくていいかなって思ってたけど、
今ちょっと見たら、これは何?そうか、Ghostyにブラウザーを見れるようにしたみたいなものなんですね。
そうそう、内部のターミナルエミュレーター自体はLibGhostyってやつを使ってて、
Ghostyを内部では使ってるって感じなんですよね。
で、プラスクロードコードのセッション管理みたいなのが入ってるんで、
C-Maxの中でクロードコードを動かすと、いい感じにクロードコードのセッションを監視してくれて、
通知を吉田に送ってくれるみたいな、そういうやつですね。
Ghostyをラップして色々便利なやつを詰め込んだんで、そういうやつ。
なるほどね。そうか、確かにブラウザがあるのは便利な感じがするな。
ちゃんとブラウザとまたターミナルでやり取りできるの?やり取りできるっていうかさ、
最近だとそれこそコーディングエージェントとやり取りしてて、
でもブラウザ上で確認とかをして、ブラウザ上に簡単なUI出して、
それでOK、NGとかフィードバック返したやつがまたエージェントに戻ってくみたいなのをやりたいなっていうふうに思ってるんだけど、
そういうのもできたりするのかな。
いや、ブラウザ側からターミナルとかクロードコードの方にメッセージを送るみたいな機能は今のところはないね。
なんでそういうDefitとか自分が作ってるGibiとかでローカルのDiffをレビューしたやつを、
今だとクリップボードにコピーするみたいな機能がつけてるんで、それでコピーしてペロッと貼るって感じだけど、
ターミナルの方からブラウザの方へのインテグレーションは便利だな、いくつか。
例えばクロードコードだとGitHubにプルリクを送ると、プルリクの番号とかがシャープ、
何番何々みたいな数字のやつが出るんだけど、そこをクリックできるようになって、ターミナル上から。
そうすると別タブでブラウザ、プルリクのページが開くみたいな、そういう機能あったりするんで、そういうのも結構便利ですね。
そっか、そうだよね。たぶんリンクが開くのは、エスケープシーケンスでなんかあるんだよな、そういうのが。
で、できるけど、たぶんそれがちゃんと、ターミナルっていうか、同一アプリ内で開くのは嬉しい感じがするな。
最近、マッシュさんが、大塚さんがそれ関連のソフトウェアを、ブログを書いてた気がする。
それは見てないな。
そっか、なるほどね。あとそうだよね、ブラウザがあればブラウザで確認出して、
たぶんローカルホストだったら普通にローカルでやりとりみたいなのができると思うから、そういうシングルな体験も作りやすそうな感じがするな。
それは全然できるね、たぶんね。
普通に、その、ギビー自体のローカルのサーバーはAPIサーバー5で動いてるんで、そっからCMUXにメッセージングするみたいなのはできる。
CMUXもTMUXみたいに外側からセッションに対してメッセージングするみたいなのがAPIとして公開されてるから、そういうのでいろいろ操作ができる。
なるほどな。確かにUIブラウザで作れると結構いいよな。言うても普通にやっぱりHTML、CSSで作るの楽みたいなのはすごいあるからな。
なんかターミナルで頑張るよりもみたいな。
そうなんだよね。なんか結構ちょっと前までは自分は結構そういうのはこのアプリになってた方が好きだったんで、
エレクトロンとかでよく個人的に使うツールは作ってたんだけど、
普通にブラウザベースで動いた方がCMUXとインテグレーションする上では便利なんで、これでいいかみたいな感じになった。
なるほどな。で、このギビーっていうのはどういうものなんですか?
何?さっき説明したよ。
いやいやいや、そういうなんか開発のGitのビューアーとかそういうの。なんかそういったものをいろいろ操作できるものってことですよね。
基本的には開発はクロードコードでするんで、他のなんかレビューしたりとかそういうマークダウン見たりするみたいなのはそういうギビーであるみたいな、そういう感じだね。
これって別にGitHubとかそういうリポジトリにプッシュしてないローカルリポジトリとかもなんか見たり差分が取れたりするみたいな感じなんですか?
そうそうそう、するする。むしろローカルしか見てないね。GitHubは全然関係ない。
なるほどね。そうか、そういうローカルでそういうなんていうかGitHubみたいな体験ができるっていうことか。
なんかそうだよな。確かにそういうコーディングエージェント的なものを動かすようになって、
Defitとかもまさしくそうだったけど、なんかローカルである程度完結したりとか、ローカルでもうちょっとリッチにいろいろ見たいみたいなニーズが増えてきたから作ったみたいな。
今までは結構VSコードとかID上でなんかそういうのいろいろできてたけど、やっぱIDちょっとクロードコードで基本的には開発するんで、結構ヘビーなんだよね。
なので基本的にはもうプログラムコード書くのはクロードコードに合わせて、他のそういう作業だけ別でやれればいいみたいな感じになったんで、ほとんどもうVSコードとかカーソルももう立ち上げなくなったって感じですね。
確かにな。ここで差分とかも見れちゃえばなんかもう十分っていう感じはあるな。というかむしろそこが一番難しいというかところだったからな。
結局ターミナルでやってると結構差分の確認とかがおろそかになりがちみたいなのはちょっと。
Git diffで見てもまあちょっと見づらいじゃないですか。見るなんてないけど、量が多くなってくるとね、なかなかやっぱりビジュアル的には見づらいんでいうのがありますね。
なるほどね。これってそのワークツリー対応とかなんかそういうのを並列してみたりみたいなのはないんですか。考えたりしてないんですか。
一応ね、ワークツリーもちゃんと動いてるはずですね。っていうのもワークツリーって単なるブランチとして動くんで、
diff自体は普通のブランチのdiffを見れば表示されますと。で、ファイルツリーも基本的には今あるファイルツリーをそのまま表示してるだけなんで、
ワークツリー切ったディレクトリを見に行けばそのファイルも別に普通に見れるっていう感じ。
特別対応はしてないけど、全然ワークツリーでも見れるって感じ。
あ、そっか。そうだよね。ドットギットが普通に共有されてるだけだから、てか大元のところは同じだから、別に同じブランチ見に行っちゃえば見れるよねみたいな感じか。
そういうことだね。そうそうそう。
しかもコメントつけたりできるんだ。面白い。
そう、その辺はね、全部diffからパクってきてますね。
これコメントつけて、どういうところが嬉しいんですか。それがまたAIに読ませられるようになってるみたいな。
そうそうそう。UI的には完全にGitHubのプルリクみたいなUIになってて、ローカルで行を指定してコメントすると、
例えばここをもうちょっとこういう風に直してほしいみたいな、書くと。するとローカルステージに保存されるんで、
それをクリップボードにコピーするっていうボタンがあるんで、それを押すとファイル名のこの何行目、書いたコメントみたいなのがクリップボードにコピーされるから、
それをそのままクロードコードのプロンプトにペロッと貼り付ければ修正の指示ができるみたいな。そういうワークフローのイメージですね。
なるほどね。それをローカルのどっかに書き込んじゃって、クロードなりに読ませるとか、そういうのとかでもいいかもしれないし、
ここでポストしたらメッセージが飛んでいくみたいなのでも、いろいろもっと面白くできるやり方はありそうって思いました。
そういう感じでできると思う。
なるほどな。
リモート開発環境とOSS開発の変化
なんかこの辺、でも最近また、それこそリモートで動くコーディングエージェントみたいなものだったり、クロードでもそういうの出てきたから、
またリモートに戻る流れもありそうだなと思いつつも、ローカルの軽量なやり方でも良いのかなっていう。
そうですね。それは結構あると思ってて、リモートの開発環境みたいなのが今後熱いんじゃないかなっていうのは思ってるんですよね。
ただちょっとどうなるかまだわかんないけど、個人的にはやっぱりリモートに寄っていくのがいいかなと思ってて、
っていうのもいくつか理由はあるんだけど、まず一つはセキュリティ的な意味で、やっぱりローカルでこういうエージェントを動かすのって、
ローカルで触ってほしくないデータとか結構あるんで、サンドボックス化されたリモート環境で動かしたいっていうのは、
データはそういう需要が一つあるっていうのと、やっぱり並列で動かしたいってなった時に、一応その作業自体はワークツリーでできるんだけど、
なんかやっぱコートが被るとかそういう問題があるじゃないですか。テストしようとした時に、
ドイツのコートで動かそうとすると重複しちゃってテストできないとかあると思うんで、
そういうのも含めて、やっぱりそのアイソレートされたサンドボックス環境みたいなのがインスタントに立ち上がるみたいなそういう環境があると、
より並列性も上がっていくんで、それが可能だったら全然そっちのほうがやっぱりいいなと思ってるんだけど、
ちょっと今そういうソリューション、いいソリューションはまだ決定だみたいなものは出てきてないかなと思ってるんだけど、
そのうち出てくるんじゃないかなって思う。
そうだね。何社か出てるし。
いろいろあるけどね。
ギターは結構そこでは頑張ってるが、あんまり気づかれてないのと、他社もすごく出てきてるみたいなのもあるけど、
やっぱりアイソレートされた環境で動くっていうのが安心ではあるよね。
結構既存のコーディングエージェントって、ある程度サンドボックス機能もあるけど、よくよく見ると別にそんな紳士強帝的なぐらいで、
頑張れば破れるみたいなものが多いから、言うても限界があるみたいなのがあるので、
そうするとコンテナの中に閉じ込めるかとかなっちゃうけど、
デブコンテナーとかは逆に大げさなものになっちゃったよね。
開発環境とか、エディタプロセスみたいなの持っちゃってるから、別にコーディングエージェントさえいればファイル編集やってくれるわけだからみたいな。
そういうのいらないよね今。
そこが全然話が変わってきたなっていうのは思う。
だから普通にソフトウェアインストールできて、コーディングエージェントさえいれば、あとは本当に自由愛のない世界で動くっていうのはあるなっていうのは思っている。
そうだね。ただ難しいのは、これは各会社とかプロダクトにもよりそうだけど、
1個の例えばリポジトリとかサービスとかで完結して動くっていうのはあんまないと思ってて、
小規模だとあると思うけど、それなりに大きくなったプロダクトだといくつもサービスがあって、
それぞれ関連してて、データとか初期シードを入れないとちゃんと動かないみたいなのがあると思って、
単に指示した修正だけしてユニットテストだけ通ってればいいよだったら、
サンドボックス環境下でうまく動くと思うんだけど、
そういう諸々のデータとか関連するマイクロサービスみたいなのも合わせて動かないと、
E2Eでテストできないみたいなことになってくると、そういう環境をサンドボックスで動かすってなると、
結構やっぱり今のあるツールだと難しいかなと思って、
そういうのがいい感じに解決できればいいなと思ってるけどね。
それはあるよね。結局そこに行き着くというか、そこに人類はずっと苦しめられてるからね、やっぱり。
それこそ本当にモノレポにするのかとか、だんだんモノレポ的な感じに流れてってる感じはするけど。
それはあると思うね。結局はモノレポが今はいいかなって思ってるけど。
でもなんかそうだよな、バゼルもあんまり受け入れられなかったからな。
使ってるとかまだ全然あると思うんだけど、割と選択的ビルドみたいなのをやってくれるソリューションが、
いまいちあんまりないような気がしている。どうなんだろう、最近なんかあんのかな。
そうだね、バゼル難しいからな、結構やっぱ。あんまないよね、今。
まだね、そうそう。
なるほどね。まあじゃあでも、いいじゃないですか。なんかOSSなんかいろいろ難しさもあるけど、
こういう自分が欲しいものをパッと作って、とりあえずOSSにするけど別に誰も使わなくていいよみたいな楽しさもあるよね。
それはね、そう、結構思っててっていうか思うところがあって、
なんかやっぱその、例えばさっきちょっと言ったけど、ビフィットとかMOは使ってて、
なんかちょっと気に入らないっていうとあれだな、自分としてはもうちょっとこうなってた方が使いやすいなみたいなところがあったときに、
なんかちょっと前だと多分自分でプリク送って、改善、プリク取り込んでもらって改善してもらって、
そのツール使い続けるみたいな感じの選択をしてた気がするんだけど、
なんかこのAIでサクッとこういうのが開発できるようになると、
こういうなんかちっちゃいツールって自分で作った方が早い、手に馴染むものが作れるので早いと思うんだよね。
そういう意味でその、なんかこのAI開発時代にOSS開発ってかなりこう変わってくんじゃないかなっていうのを最近肌感として感じてて、
もちろんその会社でやってるプロダクト開発とかも変わってはいくんだけど、なんかOSSって特になんかちょっとまた話が全然別だなと思ってて、
そう、こういうちっちゃいツールとかはその、おのおのが勝手に自分の手に馴染むものをクロードコードとかで1日とかでサクサク作っていくような世界になるから、
なんかそれでいいと思うんだよね。それが楽だしそれでいいと思う。
逆にその大きいOSS、例えばいろいろあるけどね、
最近だと例えばさ、Next.jsとかがクラウドフレアがフォークしたやつ、フォークはしてないか、
Next.jsをクラウドフレアで動かせるような、バイネクストってやつを、Next.jsのテストコードがいっぱいあるんで、
それをベースにAIに書かせたらすぐできたんで、みたいなので書かせたりしてたけど、
そういうのも含めて、今のこのAI開発時代、OSSの運用って結構変わってくると思ってて、
なんかさ、AIスロップ問題みたいなのもあるじゃん。
あるね。
そう、プルリクがゴミみたいなのしか来ないみたいな、なので疲弊するみたいな。
で、そうなってくると、プルリクエストってやつが機能しなくなってくるんじゃないかなと思ってて、OSSの時代は。
うんうん。
そう、なんかさ、1周だけ上げればさ、AIが書くじゃん、コードは。
だからプルリクエストがある必要がなくなるんじゃないかなと思ってて。
大きいOSSだと、そういう1周だけ上げてAIが書けばいいからプルリクエスト閉じますって、例えばなったとすると。
で、そのちっちゃいプロジェクトはさっきも言ったように、自分で個人で書いちゃえばいいから、別に手に馴染まないからプルリクエスト送って取り込んでもらうみたいなのもめんどくさいからやらなくなるってなると、
そのOSSの開発フローにおいてやっぱりプルリクエストっていうのの価値というか利用頻度っていうのはどんどん減ってくんじゃないかなと思ったんだよね、最近だと思う。
そうだね、やっぱりノイズが増えてるのがすごく問題なので、確かに1周とか1周前、ある程度それこそハーネスをしっかりしたAIを買っておけば、
他の人に書いてもらうよりも、自分の手買いの小買いのAIに書かせた方が自分好みのコードを書いてくれるみたいなの絶対やってくるから、それは絶対そういうのはあるだろうなっていうのは思うけど。
でもなんかさ、発明とかだったり、何らかのアイディアとかコラボレーションの中で生まれてくるものっていうのがあると思うから、そういったところはあんまり変わんないんじゃないかなっていうと思ってるし思いたいっていうのはあるかな。
あんまり他の自分、ノットフォーミーなものを我慢して使い続ける、必要性はすごい減った、自分で作ればいいって思うけど、割と既存のありもので自分の好きなやつをもっと良くしていくとか、そういう一緒に新しい体験を作るみたいなところはまだできる部分はあるんじゃないのかなっていうのは、
思ってはいるけどね。
まあ確かにね、そういうのはあると思うけど、でもやっぱりそういうコラボレーションをするのって、なんかやっぱり結構信頼を受ける人じゃないともうできなくなったのかなっていう気はするかな。
そうだね、信頼をどうやって獲得していくかっていう、そういう意味では、子さんの強みはあるとは思ってはいるし、でも逆に新しいスターみたいなのも生まれ始めてるから、AI時代に一発面白いOSS作っていきなり一番スターみたいな、リョービッピさんとかそういう人も出てきてるから、割とそういう、逆にスターが生まれやすい環境でもあるんじゃないかなとは思ってはいます。
そうですね、まあ新しいの作って一発当てるみたいなのは変わらず多分あるかなと思ってるんだけど、なんかその有名OSSにコツコツコンプリビュートして信頼を勝ち得ていくみたいな、なんかそういうプロセスっていうのは、なんか今後ちょっと衰退していくのかなってちょっと悲しい気持ち。
確かに確かに。
なんかそう自分の周りで言うと、総助鈴木っていう人がいて、もともと同僚なんだけど、今まさにクロードにいる。
てか、そっかそっか。
そう、あのバーに転職してクロードに今いるんだけど、彼の場合はずっとWebKitとかプリティアっていうUJSのフォーマッターにコミットしていて、そこでそのOSSの界隈でやっぱりその信頼を勝ち得ていってキャリア築いていったみたいな経緯があるんで、そういうなんかキャリアの築き方が今後減っていくのかなっていう気はしたな。
確かにな。なんか僕もそういうちまちましたコントリビュートたくさんしてきたから、別にそういうのする必要がなくなってきてる部分とかはあるかもな。
でもなんか最近だと僕、GitWTっていう慶一郎さんのOSSにコントリビュートしたんだけど、なんかそれ僕的にはすごい良いプリリクエストで、
なんか単にワークツリーをどこに置くかっていう話で、リポジトリ内に置くか外に置くかみたいなので好みの問題があるんですけど、
GitWTっていうところに置きつつ、その中にGitIgnore、アスタリスク書かれたやつ放り込んでおけば別に困んないよねっていう、そういうことをしたら結構良かったっていうのと、
コイチさん、ルボコップの作者の人にすごい褒めてもらえたので嬉しかったなっていうのはあったりしたんで、割とこういう時代でもアイデアで人を唸らせることができるなっていうのはちょっと思ったりはしましたね。
なるほどね。まああるはあるだろうね。まあ普通にソンムーさんのネームバリューがあるからその信頼までの距離が短かったっていうのは全然ありそうな気はするけど。
まあそれはね、そうそう。あるね。だからそう、これからの人にやっぱもっとね、のし上がってもらいやすく。まあでもあれですよ、そうすけ鈴木さんあれですよ、やっぷしこの間福岡でベストトークですからね。
そうだったね、そうそうそう。まああれはすごい人なんで。
福岡で会いたかったのになーっていう。
ああそうね、僕はちょっと行けなかったんでね。
鈴木さんにはあったんだけどね。
そうですね、茶屋さんが参加してたんで、自分はちょっと家でね、子供を見ないといけなかったんでね。行けなかった、残念ですけど。
鈴木さんと一緒にスギャンのトークを聞いてました。
そうですか。
はい、じゃあだいぶ長く前半話してしまったけど、一旦この辺で切りますかね。ということで前半はこれぐらいにします。ありがとうございます。
はい、ありがとうございました。
趣味でOSSをやっているものだは、感想やお便りをお待ちしています。
ハッシュタグOSS4ファンでツイッターやブルースカイに投稿していただくか、お便りフォームhttps://oss4.fan/.voiceからお寄せください。
RSS、Listen、Spotifyでの購読もよろしくお願いします。
次回もお楽しみに。
56:58
コメント
スクロール