Mentioned in topics
このページは、なあに? Jevにこういう入力を与えたらこういう出力が得られる、こういうユースケースで活用できる、といった表層的なことはわかるが、周辺領域も含めて概念的な理解が弱いと感じたのでLLMに教えてもらいながら学んでいく。 他者に向けた解説記事じゃなくて「自分用の学習メモ」って感じです。 Jevの仕様 公式ドキュメント Introduction - TypeSafe AI にある記述。 |
まず自分の立場を明示する。 個人事業主として、ソフトウェア開発とそれにまつわる色々をお仕事として生計を立てている。カウントダウン生活というのをやっていて日本国内を転々としながら暮らしているので、就業場所について「業務は必ずオフィスにて行ってください」といった制約のない案件だけを受けている。だいたいの案件は自宅でこなしていて、たまに「みんなで集まりましょう」ってときには指定のオフィスに向かうという感
https://june29.jp/2006/06/29/birth/ の公開から20年間が経過する2026-06-29に向けて、junebokuとしての個人ウェブサイトをあらためて制作して公開したいな〜というプロジェクト。2026年1月に発足した。 やりたいこと これまでに公開してきた内容を一望できる場所にしたい、串刺し検索できたら楽しそう june29.jp 2019-08-23以降の日記 お
自分の作業をふりかえってみると、2010年代にはとっくに「オンライン前提のプログラミング」になっていた。プログラミングをするときに検索エンジンの活用を禁じられたら、けっこう作業が止まっちゃう状況にあったと思う。プログラミング言語やフレームワークやライブラリのドキュメントも、ウェブ上のものを参照するのがデフォルトだしね。 とくに自分の場合はウェブ・アプリケーションに触れる機会が多いので、Web AP
Dell U4021QWの画面でウェブ・アプリケーションを開発するときの、ウィンドウの置き方の話。 ここ3年くらい、えいやっと画面を横に3分割してターミナル・ウェブブラウザ・テキストエディタを並べるスタイルでやってきたのだけれど。 2024年7月頃から、テキストエディタにより広い領地を与えるようになってきた。もっと具体的にいうとCursorを大きく表示して使っている、ってこと。右サイドバーでLLM
ScrapboxにInfobox機能?と呼ぶのでいいのかな、すぐには理解できないおもしろテクノロジによるおもしろ機能が実装されたみたい。2024-03-14のshokaiさんの 𝕏 の投稿を貼っておく。 Sho Hashimoto(@shokai) 文芸的データベースができた 採用面接ログ・商談議事録・開発タスク・自己紹介ページ等の、自由に記述をしたいページに対して 絶対に記入してほしい項目をあら
まつもと市民芸術館の主ホール、とてもよかった!市民として誇らしい気持ち。 開催前 2023-04-27にはShibuya.rbのイベントで「Have a nice Kaigi!」という話をしました。 Shibuya.rb RubyKaigi 2023前夜祭 @GMO Yours・フクラス - connpass とくに「はじめてRubyKaigiに参加する人」に向けて、こうやって関わるといいと思うよ
深井龍之介さんを代表とする株式会社COTENが「つくるぞ〜!」とがんばっている「歴史データベース」と呼ばれるものは、LLMと相性がよさそうと思って。 COTEN RADIOを聴いていて「へぇ、こういうパターンって繰り返し観測されるのか」と観点を得ているものについては、それをクエリにして事例を引き出すことはできそう。 観点そのものを得ることはできるか? やー、おもしろいな。深井龍之介さんたちが好きな
GPT-4版のChatGPTと会話しながらSolidityでスマートコントラクトを実装して、それから「このスマートコントラクトとインタラクションするための簡易なウェブサイトもつくりたい」と相談したらHTMLとJavaScriptも生成してくれた。 詳細は https://github.com/june29/token-sandbox/pull/3 に記録しておいた。 今後もこの手の作業にChatG
Mentioned in days
予定納税、なるほど…(なにもわかっていない)
以前はこういうときに、なにもわからないことから生じるストレスによって「見なかったことにする」に流れることが本当に多かったのだけれど、今ならとりあえずClaudeに「予定納税ってなんですか?」と投げ込むところから一歩を踏み出せるので助かっている。最近のAgentic Codingに至る前の、そぼくなChat UIのLLMだけがあった時期、ぼくにとっての価値はこの手の書類や手続きについて雑に相談できることであった。
Claude CodeのHooksが楽しくて、いくつかのプロジェクトを進めつつHooksで遊んでいたら25:30くらいになっていた。お布団に向かう直前まで興奮状態で作業していると、眠りが浅くなるパティーンでは?
Customize and extend Claude Code’s behavior by registering shell commands
https://docs.anthropic.com/en/docs/claude-code/hooks
Claude CodeとGemini CLIが楽しい。まず、コマンドになってくれたのがうれしいよな。今回のHooksも素朴なシェルの話で、Custom slash commandsもシェル。こうなってくると、いきなり資産が活きまくる。
Hooksがやたら楽しくて、これはなんでだろう〜と思った。自分でもよくわかっていないのだけれど、決定的に動くものと、非決定的に動くものを、うまく連携させられるのが楽しいのかもしれない?ぼくが10年以上に渡って書いてきたプログラムは決定的で、最近になって遊んでいるLLMは非決定的。それぞれに得意なことと苦手なことがある。
「忘れずにLintを実行してください」なタスクは決定的に実行したい。こういうときにHooksは便利。でも、決定的なシステムでは扱いにくい問題があって、そこにコンピュータから気軽にアプローチできるようになったのがLLMのおもしろいところ。ほんでLLMがシェル・コマンドになってくれたおかげで、決定的に動くものたちと組み合わせて動かしやすくなった。おもしろい。
ところで、ソフトウェアエンジニアのお仕事は、だいぶ非決定的だな〜と思うに至った。みなさんのお仕事はどうですか?
ポッドキャスト番組、子育てのラジオ「Teacher Teacher」のLISTENでの書き起こしデータの整備活動をやっている。コミュニティのみなさんとね、数名で集まって整備を続けてきた。
最近、Claude Codeに作業を手伝ってもらっていて、けっこうまともに役立つ感じになってきた。「全角・半角の統一」なんかはスクリプトで機械的にやって、そのあと「事・時・所」のような漢字を開きたいやつは当該の漢字を含む行をスクリプトで機械的に抽出したものをLLMに渡して「ひらく・ひらかない」の判断をしてもらう。それから、文章として不自然なところがあれば挙げてもらう。抽象的で曖昧なこともコンピュータに任せられる領域が広がってきていて「機械的」の意味も揺さぶられていくよなあ。
Shokz OpenComm2を装着してしゃべってAqua Voiceで文字列化してAI Agentに指示を出しながらソフトウェア開発する、ってのをやってみた。自作のアプリケーションにLLMによる要約機能を組み込む。Generative AIの機能を組み込むために、Generative AIを使いまくって開発を進めている。すごい。犬も歩けばGenerative AIに当たる状態。
Moonlanderの左手親指の担当領域にある赤いキーにAqua Voiceのホットキーを登録しておいたので、ピッとやって音声入力を開始・停止できるようになった。捗るぞい。リビングでぶつぶつしゃべりながらコンピュータを操作する人になった。
寝る前にはソフトウェア開発を進めた。最近またソフトウェア開発のおもしろみが増していて、いいテンションになっている気がする。LLMやGenerative AIによってこんなふうに作業風景が変わることになるとはねえ。
テキストチャットに「じゅんぼくさん」と書こうとして「じゅんぼん」と書いてしまった人がいて、おれはじゅんぼんになった。「"くさ"が抜けて草」的な感想があったとかなかったとか。
午前、適当に食べ物を調達してから三郷文化公園に行って、木漏れ日を浴びながら早めのランチを楽しんだ。
雲一つない青空を球場から見上げている。
ランチのあとは家に戻って、文章を読んだり書いたりして思考を整理する時間を過ごしていた。これがけっこうグッドな時間になったな〜。落ち着いて内省する時間を確保できていると精神が安定する。
夜ごはんは、きのうつくった鍋の残り。生卵と刻みショウガで漬けダレっぽいものをつくって、そこに具材を放り込んで食べた。おいしいねえ、あったまるねえ。
夜ごはんのあとは、こまごまとしたタスクを倒したり、アプリケーションの開発をガガッと進めたり。
アプリケーションの機能追加は、以前なら「登場人物の一覧を書き出して、それぞれの名前を決めて、ファイルをつくって」と進めていたところを、今ではLLMに「こういう機能をつくりたいので手伝ってください」と話しかけるところから始めて、自分から見て8割くらい満足できるものをピッと提示してもらって、残りの2割を埋めていく、ってな感じで進めている。最終的な成果物はLLMの登場前後でそんなに差異がなさそうと捉えていて、ほんで作業の初速は上がるので、「今までと同じくらいのものを、今までよりも短い時間でつくれるようになった」という感触。
「生年月日を入力として与えて、小中学生の場合はその学年を、そうでなければnilを返す」という処理はまるっとLLMに実装してもらった。ぼくはテストケースを用意して、自動化テストをすべてパスするまでLLMにがんばってもらう。最初に提示された実装では4月1日や4月2日あたりのエッジケースで期待通りに動かなかった。そのことを伝えるとifによる条件分岐が追加される。テスト失敗、フィードバック、ってのを3周ほど繰り返したら処理がだいぶ複雑になった。「この日からこの日の間に生まれた人は小学1年生、とレンジを定義して、それで判定するロジックはどうですか?」とLLMに進言してみたら、シュッとしたコードが出てきて、すべてのテストケースをパスした。なるほどね。
LLMが組み込まれたテキストエディタCursorについて。ぼくは、プログラミングの機会のあるソフトウェア・エンジニアくらいしか使わない道具だと思っていたけれど。プロジェクト用のフォルダを用意してそこに関連書類をばんばんつっこんで、その上でMarkdownファイルを開いて「やること」なんかを書いていくと捗る、という活用術を見かけた。なるほど〜。
2024年8月現在だと「ローカルできびきびと動く」が優位なのは、たしかにね。でもちょっと先の未来にはオンラインで、ウェブで完結するようになりそうだな。それこれGoogle Workspaceには必要なパーツは揃っている。Google Driveに関連ファイルをつっこんで、そこでGoogle Docsを開いたらGeminiがサポートしてくれた状態でドキュメントを書ける、ってなればハッピーな感じがする。Googleがそれに気付いていないはずがないし、今後が楽しみだな〜。Google Slidesも自動でいい感じの資料をつくってくれるかもしれない。
朝起きたら飲んでいるR-1の飲むヨーグルト、パッケージにディズニーのイラストやロゴが記されていた。なにかキャンペーンでも実施中なのかね。きっと、ディズニーをパッケージに反映させるとたくさん売れるようになるのだろう。
LLMに対して説明文を打ち込んでいるときに要件が明確になっていく、あると思います。今日もプログラミングのお供としてLLMを活用していて、まずは雑に話しかけて、話しながら要件を考えて明確にしていって、自分ひとりで奮闘するときより捗る感覚はあった。こうして「自分ひとりで」と書くくらいなので、LLMに助けてもらっているときは「ひとりじゃない」という実感があるのだろうなあ。
午前にはProject FHの週次定例があった。楽しいプロジェクトは続いていく。今日〜明日はあまり作業を進められなさそうだけれど、金土日月あたりでガガッと進めたいな。進められるといいな。
夜はウェブアプリケーション開発を進めていた。アプリケーションロジックの実装は、さすがに18年間くらい続けてきたことなのでそんなにつまずくこともなく進めていける。その上下レイヤーに当たるスタイリングやインフラの設計について、もうちょっと習熟度を上げたい気持ちになってきた。今からがんばるならLLMの恩恵を受けやすい技術を選ぶといいかな〜。
今週、Project HEの現場ではウェブアプリケーションの環境構築を進めている。ぼくが把握できていないことがたくさんあって、とにかくトライ・アンド・エラーで進めるしかない。ひとつ変更を加えては「動いたか!?」を確認して、エラーメッセージを読んで、またなにかひとつ変更を加えて。
こういう不慣れな環境での作業において、LLMは頼りになるなあ。エラーメッセージはとにかくLLMに突っ込んで「どうしたらいいでしょうか?」と相談していく。提示してくれた案を見て「ああ、たしかにそれは試すとよさそう」となればそのまま試す。LLMの出力を待っているときの自分は「指示待ち人間」だよな、と思う。ぜんぜんわからないので教えてください、教えてもらった通りに作業します。
今日のウェブアプリケーションの環境構築の進め方は、ざっくり分けると「画面ポチポチ」「コマンド実行」「設定ファイルによる構成管理」といった選択肢がある。うしろの選択肢ほどLLMの恩恵が大きくなりそう。…と思いながら作業をしていたけれど、これを書きながら「時間の問題だな」と思い直した。画面ポチポチの作業も、次の1年2年でCopilot的な仕組みのサポートを受けられるようになるんだろうな、きっと。
朝のお散歩のときの景色。この景色がとても好きだ。
今夜はShibuya.rbのイベントに参加するぜ!ってことで朝から準備をやっていく。
Shibuya.rb RubyKaigi 2023前夜祭 @GMO Yours・フクラス - connpass
カード型のNFCにURLとして https://bento.me/june29 を書き込んでおいたので、イベントの会場でいろんな人にスマートフォンで読み取ってもらうってのを試したい。
自宅から自家用車で松本駅の近くまで行って特急あずさに乗る、少しずつ慣れてきた。
車内で1時間くらい作業していたら軽い乗り物酔いみたいな状態になったので後半は目を閉じて静かに過ごしていた。休んでいれば回復するから便利。無事に渋谷に着いたぞ。渋谷駅はまた変形していたなあ。
会場に入ろうとして、社員証を有している場合の経路は知っているけれど、外の人として入場する場合の経路を把握していないってことに気付いた。結果的に8階の受付の裏?みたいなところに出てしまって、通行証がないと開かない自動ドアのところでウームとなっていたら知っている顔を見つけたので「たすけて〜」と視線を送ったら拾ってもらえた。なんとかなってよかった。
@june29: 関係者入口しか知らない説…?
イベントは楽しかったな〜〜〜。ぼくが話した内容はのちほど整理して公開するつもりがあります。
@kakutani: 参加者心得的な @june29の話は180分以上やりたい気持ちになった
プロフィール交換用のNFCカードもいろいろ試せてよかった。遊べそう。RubyKaigi 2023に向けて準備していこう。
会場でkotarokさんを見かけて「最近のLLMの盛り上がりを受けて、デザイナの仕事ってどう変わるんですか?」と雑に話しかけたらいい話をいっぱい聞けたのでお得だった。便利すぎる。
ぼくの宿泊先が九段下です、って話をしたらkakutaniさんたちが「その近くで話そう」と言ってくれて、飯田橋のCRAFT BEER SERVER LANDでごはんを食べながらおしゃべりした。
解散したあとは飯田橋から九段下のあたりをお散歩。涼しい季節でうれしいねぇ。
今日の活動
「紙とペン」によるアイディアスケッチをひさしぶりにやった。ここ数年は、思考に使う道具はほとんどコンピュータだったもんなあ。在宅勤務だと、手元の紙に書いたものはチームの人たちと共有しにくいってのもあるよね。
松本の家の作業場は150x60センチメートルのデスクをふたつ使って黒磯の家のときより広くしたので、紙やペンでの落書きなんかも取り入れながら脳を刺激していけるといいかもな。
Project NSを進めた。プロダクトのコアからは外れるけれど試してみたいオプションがあって、そっちについても頭と手を動かし始めた。
「漫画特化にチューニングした対話システム」について考えていた。誰もが活用できるような汎用リソースとしてのLLMがあったときに、なにかに特化したチューニングを行うとしたら、自分はなにをしたいだろうか。そう考えたときに「漫画」というテーマが浮かんでくるのは自然なことだった。