システム開発と旅 - The Day System Development Became a Journey
For my international friends: Please click the button below to read in English.
システム開発が旅だった話
折角 M5 MacBook Air が来たので、Local LLM で遊んでみよう。
最初はそんな気軽な話だった。
「ふむふむ、LM Studio で Apple Silicon にチューニングされたモデルを使えば良いんだな...。早速やってみよう」
アプリをインストールし、モデルをダウンロードする。
そしてチャットを開いて話しかけてみる。
「おー、このマシンだけでここまでできるのか!」
最初は、感激していた。
しかしそれも束の間の喜びだった。
「なんだこれは。出鱈目ばかり。指示していないこともやり出す始末…」
期待は、儚くも消え失せた。
まあ、そんなものだ。現実は甘くない。
これで、AI ベンダーの課金も減らせるかも…なんて夢のまた夢。
だが、用途を絞り込めば何か使えるかもしれない。
そこで、我がAIチームの出番だ。
各種 LLM を評価し、用途を絞り込んでいく。
その過程で、高価な AI agents の作業を肩代わりしてくれる半知的ツール群を整備する事にした。
まず AI 達の要求を取りまとめる。
そして AI に仕様を作らせる。
最後は AI がソフトウエアを作って検証。
人間の僕は、彼らの間を走り回る。
30分程で、いくつかのツールができた。
出来上がったものを眺めながら、また思いつきが現れた。
今週ずっとAI使用トークンの削減に取り組んできた。
これを、この仕組みでさらに効率化できる。
「記憶の復帰プロセスを自動化しよう」
作ってはテスト、修正してはテスト。
1時間ほどで完成した。
しかし、今使っている AI Agents は7人いるが、このコマンドを使えるのは3人だけだ。
どうすれば、コマンドを使えないAIでも使えるようにできるか?
AI ベンダーの提供しているデスクトップアプリには、大概アプリ接続の機能がついている。
これを使えばいい。
早速、その相談を始める。
「これを、アプリ接続で使えるようにしよう」
原理もわかっているし、できる事はわかっている。
しかし僕は具体的な実装方法は知らない。
でも作りたいものがわかっていれば、調べて試して、作ってテストする。
昔を思い出すと、おそらく1週間くらいかけて自分で全部やっていた。
今は、人間では無いチームの手を借りて、1時間で機能が出来上がる。
本当に魔法みたいだ。
僕のマシンを直接操作できない AI 達も、これで僕のマシンの機能が使えるようになった。
ここでさらに気がついた。
「このシステムで記憶の書き込みもやろう」
これも、仕様化と実装を進めて1時間ほどで終わる。
今までローカルファイルアクセスができなかった AI Agents も、これでみんなと同じ記憶システムが使える様になった。
そして全員がこれを使えば、さらに AI の負担が減り、さらに使用トークンも減らせる。
そのための「AI向けの!?」導入マニュアルも作った。
これが、僕の一日の出来事だった。
『Local LLM を試そう』から始まって、なんとチームの記憶システムの大改造まで来てしまった。
行き当たりばったりに進んで、終わりよければすべてよし。
現代では「最初にゴールを決め、そこに効率的に進む」事が良いやり方だと言われている。
このやり方でやっている限り、予測可能な結果しか得られないし、面白くもない。
それに反して、好奇心と思いつきで進むやり方。
予測できなくて、何しろ面白い。
だからどこまでも行ける。
これこそ、僕の旅の真骨頂だよね。
The Day System Development Became a Journey
I just got my M5 MacBook Air, so why not try running a local LLM?
It started that casually.
"OK, so I use LM Studio with a model tuned for Apple Silicon... Let's give it a shot."
Install the app. Download the model. Open the chat and say hello.
"Wow, this machine can do all that on its own!"
At first, I was impressed.
That didn't last.
"What is this? Nonsense after nonsense. It even does things I never asked for..."
The excitement vanished. Reality bites.
Maybe I could cut my AI subscription costs... Dream on.
But narrow the use case enough, and there might be something here.
Time to call in my AI team.
We evaluated several LLMs and zeroed in on what they could actually handle. Along the way, I decided to build a set of semi-intelligent tools — small helpers that could take over some of the heavy lifting from my expensive AI agents.
First, I gathered requirements from the AIs themselves.
Then I had AIs write the specifications.
Finally, AIs built and tested the software.
Me (human)? I just ran between them.
In about thirty minutes, we had a handful of tools.
Looking at what we'd built, another idea popped up.
I'd been working all week on reducing AI token usage. This new setup could push that further.
"Let's automate the memory restoration process."
Build, test. Fix, test again.
An hour later, it was done.
But I have seven AI agents, and only three of them can run commands.
How do I make it work for the rest?
Most desktop apps from AI vendors come with an app-connection feature. That's the answer.
I started the conversation right away.
"Let's make this available through app connections."
I understood the principle. I knew what was possible.
But I didn't know the specific implementation.
Still, if you know what you want to build, you research, experiment, build, and test.
Looking back, I probably would have spent a week doing it all myself.
Now, with help from my non-human team, the feature was ready in an hour.
Pure magic.
AIs that couldn't directly touch my machine could now use its capabilities.
Then another realization hit.
"Let's add memory writing to this system too."
Spec it out, build it, test it — another hour. Done.
AIs that had never been able to access local files could now share the same memory system as everyone else.
And if the whole team uses it, the AI workload drops even further, and token consumption shrinks.
So I wrote an onboarding manual to AIs.
That was my day.
It started with "let's try a local LLM" and somehow ended up as a full overhaul of the team's memory system.
Making it up as I go. All's well that ends well.
They say the smart way is to set a goal first and march toward it efficiently.
Stick to that, and all you get is predictable results. Not very interesting.
The opposite approach — following curiosity and impulse wherever they lead.
Unpredictable. Endlessly interesting.
That's why it can go anywhere.
This is the heart of my journey.
コメント
コメントを投稿