Mentioned in days
生活用リポジトリで育てているAgent Skillsがあって、これをGemini CLI、Codex、Claude Codeに実行させてみている。きのうはCodexに、今日はGemini CLIに、ってな感じで適当なエージェントをつかまえて実行させて、結果のちがいを見てみたりする。特定のAI Agentにロックインされすぎるのもイヤなので、いざとなれば乗り換えできるような足場にしておきたい。
なんかウェブブラウザに対してやってきたのと同じようなノリだな、と書きながら思った。クロス・ブラウザで確認しましょう、クロス・エージェント対応を意識しましょう。
- ファミコン → 家庭用ゲーム機
- ウォークマン → ポータブル・オーディオ・プレイヤー
- Internet Explorer→ ウェブブラウザ
- iPhone→ スマートフォン
- ルンバ → ロボット掃除機
- Claude Code→ コーディング・エージェント
ってな感じで、特定個別のプロダクトで捉えるんじゃなくて、そのプロダクトが一般化されたカテゴリが社会にどのようなインパクトを与えうるのかって視点で見ておきたい気持ちが自分にはありそう。Claude Codeに特有の機能や使い方に興味があるんじゃなくて、Working Agentが人々の暮らしにどんな変化をもたらしうるかを考えるのが好き、みたいな。
ぼくが相談を受けるような企業にはだいたいSlackとGoogle Workspaceが導入されていて、なんらかのワークフロー改善をお手伝いするときは、これらの道具をうまく活用するアプローチを考える。Slack WorkflowとGoogle Sheetsで構造化しましょう、とかね。
ぼく個人としてはClaude Codeを気に入って使っているが、そういった企業を相手に「Anthropicと契約してClaudeを使えるようにしましょう」を通そうと思ったらなかなか面倒なことも多いので、GeminiやGemini CLIで済むなら初手としてはそっちの方がいいんだよな。追加の費用がかからないのでね。そんなわけで、自分がClaude Codeで実現しているようなことをGemini CLIでやろうとしたらどんな感じになるのか把握しておきたいモチベーションがあり、たまにGemini CLIを起動して遊んでいる。なんというか、ぼくの体感だとClaude Codeの下位互換という印象になってしまう。Gemini CLIをがっつり活用している人がいたら、どんな環境を整えているのか教えてほしい。
ひとまず、CLAUDE.mdはAGENTS.mdのシンボリックリンクにして .claude/skills も .agents/skills へのシンボリックリンクにして、ってな感じでClaude Codeに完全には閉じない環境を意識しておくか。
技術的な支援をしている企業の現場にて、アプリケーション開発のワークショップ的なことをやった。セットアップでいくつか苦戦することがありつつ、約80分間でウェブアプリケーションをデプロイして公開するところまでできた。
その企業はGoogle Workspaceを導入しているので、それであればGemini CLIがよかろうと思って選定した。ソースコードはAgentic Codingでがんがん生成してもらって、Gitの操作なんかも積極的に任せていく。短時間のワークショップなら、それがよかろうと判断した。
ぼくはGenerative AIなどなどの発展によってソフトウェアの活用がさらに民主化されていったらうれしいと思っている。現状は、ソフトウェアエンジニアがソフトウェアに対する特権を握っている状態だと思うので、もっと手放していきたい。
そんなモチベーションもあり、ソフトウェアをやっていきたい人の相談に乗る機会もけっこうある。今日も、以前にGemini CLIの使い方をレクチャーした相手から相談を受けてあれこれを進めていた。しかしまあ、専門領域の民主化ってのはそんなに簡単なものでもないよな、ってのは最近よく思う。Gemini CLIでもClaude Codeでも、なんだったらChatGPTでもいいんだけど、そういうのを使ってたとえばウェブページをつくったとして。そこまでは簡単にいけるんだけど、ちょっとずつ手を加えていくとか、単一のウェブページから構造化されたウェブサイトに発展させていくとなると、Generative AIを適切に活用するのが一気にむつかしくなるポイントがある。
「壊してもいいようにGitでバージョン管理しながら進めたいな」とか「そろそろStatic Site Generatorに切り替えた方が楽だよな」とかとか。じゃあWordPressを導入しますか、となっても手作業がいっぱいあってGenerative AIはナビとして活用できるくらいに留まるもんね。高速道路の先の渋滞って感じがする。
佼成学園の生徒さんが相談してきてくれたので、ビデオチャットをつないで問題解決に当たった。先々週にいっしょにセットアップしたGemini CLIがかなり役に立っているようで、おすすめできてよかったなあ、と思う。
macOSで動かしているVS Codeのトラブルシュートがあって、そのときは「ターミナルを起動して cd .vscode してそこで gemini を起動してみましょう」と提案して、Gemini CLIに調査を進めてもらったらあっという間に解決した。
ぼくが佼成学園で講演させてもらった直後にGemini CLIが発表されてラッキーだった。高校生には、Googleアカウントさえあれば無料で使い始められる選択肢があるのはとてもよいことだと思う。日本中の、ソフトウェアでなにかやってみたい中高生、プロジェクトに取り組んでいる中高生に、Gemini CLIやAI Agentの活用方法を伝える役目なら、よろこんで買って出るね。物事が前に進むのはうれしいもんね。
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がシェル・コマンドになってくれたおかげで、決定的に動くものたちと組み合わせて動かしやすくなった。おもしろい。
ところで、ソフトウェアエンジニアのお仕事は、だいぶ非決定的だな〜と思うに至った。みなさんのお仕事はどうですか?
Gemini CLIが登場していたので、軽く触っておく。きのう、佼成学園の生徒さんたちにClaude Codeのデモを見せたのはいいものの、高校生がClaude Codeを使うには現時点ではお金がネックになるな…と頭を抱えていたところにGoogleアカウントさえあれば無料で試用できそうなGemini CLIが出てきたので、まずはこれを使ってもらうのはいいかも。
細かいところについてちょっと知りたいことがあったので𝕏の検索機能を使う。ちょっと油断していたんだけど、驚き屋さんの投稿がたくさん視界に飛び込んできてつらい気持ちになってしまった。最近はそういうのとはうまく距離を置いて過ごせていたんだなあ。インプレッションを稼げるならなんでもアリ、なノリをひさしぶりに浴びたら体がびっくりしちゃった。ふぅ。