白きゅうりの芽が出た

タイトル通りですが、3月に種まきするも芽が出ず、5月に巻き直した白きゅうりの芽がようやく出ました!

トウモロコシも芽が出てくれたので、これで完全失敗は今のところ白茄子だけです。。。

スイカとメロンがだいぶツルが伸びてきて、ビニールトンネルの中だと溢れそう&受粉の手間がかかるということでビニールを開けました。

こうなってくると、きゅうりとスイカ・メロンというウリ科野菜の天敵。ウリハムシの対策をしなければいけません。

これまで不織布で頑張っていたものの、なにかやれることがないかとネットを徘徊していると、こんなものを見つけて購入しました

その名もマラソン。

なんでマラソンなんてネーミングなのか。
そんなに長期間の忍耐が必要なのだろうかと悲しくなりますが、ウリハムシに効くそうなので早速かけて様子を見ます。

効果が出てくれると良いのですが。。

その他手入れ

じゃがいもの土寄せ、トマトを支柱にくくったりとしていますが、そろそろきゅうりのネットを張ったり、ほうれん草の第2陣を撒いたりしたいところ。

先日ホームセンターで、大型落花生の品種であるおおまさりと、枝豆用の茶豆を買ってきているので、今週末辺りに畝作って種を撒きたいところです

週末の天気予報があまりいいこと言っていないのが気になりますけどね!

トヨタの株主優待

トヨタ自動車の株を随分と前から、そこまで多い量ではないですが持っていました。
目的としては配当と、父親がトヨタに努めていたということもありなんとなくですね。

今回、いつものように株主総会の案内が来ていたのですが、株主優待が新設されたようでその案内も来ていました

株主優待について
https://global.toyota/jp/ir/stock/yutai

TOYOTA wallet という謎決済アプリで30000円分。
そしてレースのペアチケットが抽選で当たるそうです。

ちなみに、walletはエラーが出まくってひどい有様でした。

【お詫び】TOYOTA Walletアプリへログインができない状況が発生しております
https://tscubic.com/toyota-wallet/information/2025/20250526-02/

おそらく案内が行って、多くの株主が一斉にこのアプリをダウンロード、登録しようとしているのでしょうね。
時間が経てば大丈夫になるのでしょうけれど。。。。

ペアチケットの方は、スーパーフォーミュラのチケットへ応募してみました。

正直、私の家の家族構成でペアチケット渡されても使い方に困るのですが、一度もこういうのは行ったことがないので、行くことが出来たら面白い経験になるかもしれないな、と。

まぁ、当たらないでしょうけれどね。

でも、これが年1で応募出来るのであれば、持ち続けていれば。。。
調べてみると、一般前売りで6800円くらいとのことなので、場所が鈴鹿というのがネックではあるものの、出せなくはない。
そう考えると、家族で行くという選択肢もありなのか?

ちょっと楽しみですね。

徹底的に数字で考える

深沢真太郎著「徹底的に数字で考える」を読んだ

徹底的に数字で考える。

私自身、ある程度論理的に考えることが出来ているようで出来ていないのが実情な気がしています。
特に仕事における評価で数値化に関しては悩むところが多いです。

ITエンジニアにおける、スキルレベルの数値化。
難しいですよね。
一概に言うことが出来ないと言ってしまえばたしかにそう。

例えば、同じ言語で同じ開発対象での同一作業という意味では、比較はまだできます。
これが異なる開発対象だったりすると、そもそもの難易度が関係してきます。

更に、設計や製造、テストや要件定義など工程も複数ある中で何ができることをどういう評価として最終的に数値化するのか。

難しいとか、比較にならないと言っても最後には給料という数値になってしまうわけで万人に納得の行く形というのは難しいです。

定義する

本書では、まず定義するということを第一に置いている。

ITエンジニアのスキルと言うものを分解して定義すると

  • 技術的なスキル
    • プログラミング能力
    • 設計力
    • 問題解決能力など
  • 業務遂行スキル
    • タスク完了率・品質
    • プロジェクト管理能力
    • ドキュメンテーション能力
  • コミュニケーションスキル
    • チームワーク
    • 指導力
    • 調整能力
    • 交渉力

なんて分解できるかもしれない。
更にそれぞれをどうやって数値化していくか。。。

また、これらが年を経てどう変わるのか?によって成長力が変わってくるだろうし、新技術へのキャッチアップ能力みたいなものも必要となると思う。

ある業務において優秀とされていた人が、数年経って出来ることが変わっておらず、仕事が変わることによる影響から評価を下げざるを得ないくなることもよくある話。

そうなると、数値化したスキルレベルは、年々減少するような補正を掛ける必要がある現場も出てくるかもしれない。

比較的技術が安定しているようなパッケージ開発をしているのであれば、技術力より業務遂行能力のほうが高いかもしれないし、場合によっては何よりもコミュニケーション能力を重視する場面もあるかもしれない。

そういう重み付けによってのスコア算出をすることで、何かしらの数値化が出来るのかも知れない。

実際のところ

どれだけモデルを作ったところで、よくわからん”人に気に入られる”謎スキルによって全てをかっさらっていく人も出てくるのではあるんだけど、このあたりはやってみての仮説検証をしてみたいところではある。

ただ、これ、PDCA回すのすごい長いサイクルになって仮説検証を早く回すの難しそうだな~ってのが正直なところ。
一発で当たりのモデルを組み上げるなんて無理だろうから、やっぱり積み上げていくしかないんだろうな。

ただ、数値化出来るということをこうやって考えたことで、いろいろなモデルを考えることが出来るようになるというのは数字の強いところではあると、改めて思った。

意味を本当につけることが出来るかはわからないけれど、試していきたいところです。
いい本でした。

一日の休息を最高の成果に変える睡眠戦略

少し前になってしまうけれど、「一日の休息を最高の成果に変える睡眠戦略」を読んだ

一日の休息を最高の成果に変える睡眠戦略 世界のビジネスエリートが取り入れる「7つの眠り方」

自分自身の睡眠に関する現状

睡眠に関して言うと、そりゃしっかり寝たほうがいいだろうし、よく7~8時間くらい眠りましょうねって話になる気がする。

私自身の睡眠時間は比較的少ない方で、以前は5時間強といった感じだった。
最近は結構睡眠時間を気にするようにしており、6.5時間くらいは取れていると思う。
起きる時間は変わってないが、0時前にできるだけ布団に入るようにしている点が変わったことだと思う。

睡眠戦略

本書で書かれている「7つの眠り方」というのは、”眠るための方法”ではなく、ライフステージや当人の置かれている状況に応じて、睡眠時間をコントロール。
そうすることで、その時時に応じたベストなパフォーマンスを引き出そうという視点であって、必ずしも安眠を進めているわけではないところが面白かった。

具体的に示されているのは下記の7つ。

  • 短眠戦略:深い眠りで超回復し、突っ走る
  • 快眠戦略:バランスよく眠ることで創造性を発揮させる
  • 長眠戦略:レム睡眠を多く取ることで、成長速度を上げる
  • 二分割睡眠:深夜に一度起きて、集中。そしてもう一度寝る。短眠を2ステージやるような感じ?
  • 多分割睡眠:更に細切れに睡眠を取る
  • フレックス睡眠:生活リズムや仕事のスケジュールに合わせて調整していく
  • チーム睡眠戦略:一人ではなくチームで睡眠改善に取り組んでいく

自分自身、睡眠時間は少ないほうだという認識は持っているものの、短眠という状態になっているかどうか?と言われると単純に睡眠不足なだけの可能性が高い。

日中。もちろん食後とかもそうだけれど、ふと気を緩めると眠くなってしまったり落ちてしまったりするのが果たして睡眠不足から来ているのか自分自身の怠惰なのか、色々特定できない点は多いけれど、睡眠の質の改善はなんとかしないと行けない問題に感じている。

一方で、睡眠評価をアプリで見てみると、75点は超えているので決して質が悪いわけではないように見える

そうなると、やはり日中に落ちてしまうのは怠惰だからか。。。

HRVステータス

最近特に気にしているのは、Garminで計測されるHRVステータス。
体調を崩したり、足首が炎症で苦しんでいた4月はこの数値がひどいものだった

最近は、睡眠に気をつけているせいか数値はだいぶ改善されている。

そして、この数値が良い状態だと、トレーニングレディネスが顕著に良くなっている気がする。

過負荷のトレーニングによる怪我は怖く、3月末や4月頭はそのあたりの数値を無視して動いていたところもあり、数値的に大丈夫か?は一つの基準として意識していきたいところなので気をつけるようにし始めている。

これからの戦略

ライフステージによって、これらの睡眠量や内容を変化させるという考え方は面白い。

一方、物理的にそういう時間取れるんだっけ?という点やそもそも目が覚めてしまうという問題もあったりするのでなんとも言いづらいところはあります。

ただ、変に自分はショートスリーパー!みたいな考え方は捨てて、今はどういう時期なのでどういう寝方をしようという意識を持つという考え方は非常に面白いと思うので取り入れていければな、と考えました。

Julesがいつの間にか使えるようになっていた

GoogleのコーディングエージェントであるJukes.
WaitingListへ登録していたのですが、特にその後メールも何も来ないなーって思って、もう一度アクセスしてみたら。。。なんか使えそう!

まずは、Githubとの連携を行う必要があります

Githubアカウントで認証し

どのリポジトリを参照可能とするかを選択します。
読み取りはいいとして、書き込みはちょっと怖いところがあるので、All repositoriesではなく特定のリポジトリを選択しました

これで事前準備は完了します。
中央のテキストエリアに内容を指示する形のようですね。

とりあえず、ReadMeを作ってもらうように指示しました

見慣れた感じのチャット画面に切り替わり、処理が進んでいきます
julesでは、一度リポジトリをcloneしてその内容を読み込んでいく形を取るので、そう考えるとこの容量ってGCP側に課金されたりするのかな?とふと思ったり。。。
(特に現時点ではGCPにjules用のプロジェクトが作られたりはしてませんでした)

計画を作成して、これで良ければDraft作るよ!って言ってくれています。
が、ここでそのままにしていたら・・・

作り始めました!
Plan approvedボタンは一体何だったのだろう。
何かしらのタイムアウトが存在していて、どんどん先に行ってしまうスタイルなんでしょうか。

Claudeのように生成されたReadMeが表示され、branchとして作成許可を求められます。
流石にここは放置していても勝手に作られることはなさそうです。

julesでやってくれるのは基本ここまでのようで、この先は作られたbranchに対してPRを作成してマージという流れはGithub上で行っていく必要がありそうです

作られたReadMeが英語だったので、日本語表記に変更してもらってpublishするなど、そのあたりは普通に指示をする形で出来ました。

使い道

julesでは生成されたファイルの直接編集をすることは出来ないので、微妙に手を加えたい場合などはcloneして加えるのが手っ取り早い感じはします。

そのあたりは少し使いづらさを感じる一方、全てがブラウザ上で完結させることができるのは、体験としてはとても面白いですね。

branchを作ってくれるのもいい感じです。

コードベースを選択することで画面が切り替わり、このコードベース上でなんのタスクを行うのかを設定することになります。

このタスクの生成をどうやって進めていくのかというと、一番最初に出てきた、julesに何を指せるのか?テキストエリアが登場するわけですね。


ここでどんな指示を出すのか?に関しては、参考となるGithubへのリンクが紹介されています

Awesome Jules Prompts
https://github.com/google-labs-code/jules-awesome-list

Githubとの連携がブランチの作成にとどまってしまっているのが、エージェントとしてはもう一声という気持ちがしないでもないですが、それに関してはすぐに対応してくれることでしょう。

ローカルで何も構築せず、Vibeしていく感じが出ていて遊んでみたくなりますね。

Software Design6月号

今月号も読み始めました

ソフトウェアデザイン 2025年6月号

今月号の特集はアクセシビリティに関するものとターミナル環境に関して。

定期的にエディタとターミナルの話題が出てくるのは、それだけ思いの強い人がいるということなのだろう。
ちなみに私はそこまで強い思い入れはないというのが正直なところ。
なので、ターミナル系の特集は読み飛ばしてしまうことが多いです。

さて、アクセシビリティです。

以前、パッケージ製品開発に携わっていたときに考えたことがあったのですが、意義は理解できつつも、取り組むことの難しいテーマに感じています。

それらが出来ていることが商業的な価値を生むケースも持ちろなるし、差別化要因となる可能性もわかるのですが、ある程度限られたリソースの中でどこまでを考慮し、更にそれに対しての効果計測までやるとなると、一過性になってしまいます。
結果として、取り組んでいるとも言えないような中途半端な状態になってしまい、廃れていくのが見えます。

解決策は法律で縛る以外に何があるのだろうか。。。
うーんって感じですね。

こういう系統こそ、AIにやってもらうのがいいのかもしれません。
ただ、それであれば代替テキストなんて用意せずに、そもそもOS側で提供される音声アシスタントなりでページの要約をしてもらう方向で動くと、各アプリやWebページ側でアクセシビリティを確保するというアプローチから変わってしまいそうな気もします。

いろいろな前提条件ありきの人たち全てを救うアクセシビリティはやはり難しく、その中で開発者として何を提供していくのか。
ちょっと哲学的な話になりかねないですね

Cursorをインストールしてみた

AI開発エディタとしては有名どころの一つであるCursor。
これまで名前は知っているものの、Claude codeで遊んでいたので使ったことはありませんでした。

とはいえ、触ってみないのもな?と思いインストールしてみました

https://www.cursor.com/ja

インストーラ自体は公式サイトから落としてきて実行するだけ。
特に選択肢も対してあるわけでもないので割愛します。

初回起動時にはログイン方法を選択。
後々、Githubとは接続するだろうということで、Githubアカウント連携でのログインを選択、関連付けました

唐突に何かをVSCodeからImportさせようとするCursor。
せめてなにか書けよ・・・。
おそらくは、外観の設定周りなのではないかと推察してとりあえずImportするか。。

Importを選択してから、何をImportしようとしているかの選択が出てくる。
このUXは本当に大丈夫なのだろうかと心配になってくる

テーマ設定画面となった。
Pick your vibeってのがvibe codingとかけているのか、ちょこっとくすっと来た

分かりづらいが、key bind を VSCode, Vim, Emacs, Sublime Textから選択できる。
Sublime Textとか懐かしい。

Emacsを選択しても面白いのかもしれないけれど、Emacs使っていたの本当に数年なので正直覚えておらず、やはりVSCodeを選択させてもらう

コードベースからの学習を許可するか聞いてくる。
ここは迷いどころではあるけれど、少なくとも個人PCにいれている内容であれば別に構わないんだけどなぁと言うのが正直なところ。
色々迷うところではあるけれど、初期段階ではチェックボックスをOnにしないと先に進めない。

Autoでもいいかな?と思ったけれど、Japaneseを選択させてもらおう・・・

ようやく設定が終わり、Cursorが使えるようになったかな?

設定周りでいうと、このRulesがおそらく肝になってくるなじゃないかな?と思うので、ここからはもう少し調べながらやってみようかな。

Google I/O発表振り返り

Julesもそうですが、今年のGoogle I/OはほぼAIに関係した発表だったようですね。
そのすべてを追ったり試したりすることは難しそうですが、軽くまとめてもらいました。

AI関連の発表

  • Gemini 2.5シリーズの改良:Gemini 2.5 Flashが一般公開され、パフォーマンスと効率が向上。Gemini 2.5 Proに「Deep Think」という強化された推論モードが追加されました。
  • Google AI料金体系の変更
    • AI Premiumが「Google AI Pro」に名称変更(月額$19.99)
    • 新たに「Google AI Ultra」プランが追加(月額$249.99)で最先端機能へ早期アクセス可能
    • 日本、ブラジル、インドネシア、英国の大学生向けに無料のAI Proを学校年度中提供
  • Geminiアプリの新機能
    • カメラとスクリーン共有機能がiOSでも利用可能に
    • 今後数週間以内にカレンダー、Keep、マップ、タスクなどとの連携を開始
    • Deep Researchで自分のPDFや画像をアップロード可能に
    • Gemini Canvasの内容をウェブページ、インフォグラフィック、クイズ、音声概要などに変換可能

Gemini がよりパーソナルに、プロアクティブに、そしてパワフルに進化
https://blog.google/intl/ja-jp/company-news/technology/gemini-app-updates-io-2025

Geminiというとモデルの名前という認識だったので、Geminiアプリってのはこれまで使ったことがなく、早速ダウンロードして見ました。
今回発表されているGemini Liveという機能。
少し使ってみましたが、音声アシスタントってのがまだ使い慣れてないですが、常時起動していて話し相手になってもらう感じだと面白そうです。
完全にSFの世界ですね

GMailの内容を確認してもらおうとGemniに話しかけてみたのですが、「GMailアプリを開いて受信トレイを見てみましょう!」ってなってしまいました。
まだ連携はできていないようですね。
このあたりがスムーズにできるようになるとさらに便利そうです

検索関連

  • AI Mode:米国のすべてのユーザーに展開開始
    • Gmailからの個人情報を利用した「パーソナライズド検索結果」機能
    • スポーツや金融情報をカスタムチャートやグラフで視覚化
    • ショッピング機能の追加
    • Project Marinerのエージェント機能を活用した予約やチケット購入などのタスク実行
  • AI Overviews:200カ国以上、40言語以上に拡大

メディア生成関連

想像力を広げる最新のメディア生成モデルとツール
https://blog.google/intl/ja-jp/company-news/technology/aigenerative-media-models-io-2025

  • Veo 3:最新のビデオ生成モデルが音声生成にも対応
  • Imagen 4:より詳細なテキストと画像出力が可能な新モデル
  • Google Flow:Veo、Imagen、Geminiモデルを使った「AIフィルムメイキングツール」
  • SynthID Detector:AI生成コンテンツを識別するための検証ポータル

コミュニケーション関連

  • Project StarlineGoogle Beamとして正式発表:AIファーストの3Dビデオ通信プラットフォーム
  • Google Meet音声翻訳:人間の通訳のように自然な翻訳機能

デバイス関連

  • Android XRグラス:サムスンとのパートナーシップ拡大
  • Wear OS 6:タイルに統一フォントを導入し、よりクリーンなアプリ表示を実現

その他

  • Gmail:パーソナライズされたスマートリプライ、受信トレイのクリーンアップなど
  • Jules:コードを理解し、テスト作成や機能構築、バグ修正などを行う「真のコーディングエージェント」
  • Geminiの利用拡大:月間アクティブユーザー数が4億人を突破
  • 開発者向け改善:Android Studio、Google Playなどの機能強化

全体として、今回のGoogle I/Oは特にAI技術の進化と実用的な応用に焦点を当てており、Geminiを中心としたAI機能がGoogleの主要製品・サービス全体に統合されていく方向性が示さ

コーディングエージェントが盛り沢山

先日、OpenAIがCodexを発表しました

Codex
https://platform.openai.com/docs/codex

現状ではProプランのみの提供のようです

こちらは、ChatGPTをGithubと連携させ、手元でコードを自動生成するのではなく直接Github上のPRを作成したりするそうです。
流石にProプランに入っているわけではないので試すことが出来てはいませんが。。。

Jules

そしてGoogleもJulesを発表してきました

jules
https://jules.google.com

まだβ版のようで、WaitingListへ登録する形で待ち状態です。
昨年の発表では下記のような内容と記されています

you can offload Python and Javascript coding tasks to Jules, an experimental AI-powered code agent that will use Gemini 2.0. Working asynchronously and integrated with your GitHub workflow, Jules handles bug fixes and other time-consuming tasks while you focus on what you actually want to build
https://developers.googleblog.com/en/the-next-chapter-of-the-gemini-era-for-developers

ちょっと具体的な内容はよくわかりませんが、Codexと同様の事ができるのではないかと。当然こちらのモデルはGeminiですね

いやいや、ここまで各社あれこれ出してくると、とてもじゃないけれど追いきれませんね。
そして、本当に一般プログラマの出番はなくなりそうです。
リクルート4000人削減とかしてますが、どの程度導入した結果そういう状態になったのか気になってましたが、このあたりを取り組んでいたのであれば、やっぱりそうなるよねって思ってしまいますね

まだまだ、Claude codeに不具合対応をさせようとしても、エラーを回避するためだけのコードを書いてきたりするので任せきることは出来ませんが、そのあたりの指示出しからAIが考慮をしてプロンプト作ってくれるのであれば話は変わってきそうですね。

いやー、すごい時代になってきたものだ

CaMeLに関して

プロンプトインジェクションに関して昨日基本をおさらいしたのでCaMeLに関して間違っているかもしれないが、現時点での理解を。

DualLLMパターン

最近、よく勉強させていただいているSimon Willisonさんが提唱したDualLLMパターンという手法がある。
この方法では、2つのLLMを使用する

  1. 特権LLM(P-LLM):ツールにアクセスでき、ユーザーからの指示を直接受け取る
  2. 隔離LLM(Q-LLM):ツールへのアクセス権を持たず、信頼できない可能性のあるテキストを処理する

重要なのは、Q-LLMが処理したコンテンツがP-LLMに直接露出しないことです。代わりに、Q-LLMはリファレンス(例:$email-summary-1)を生成し、P-LLMはこれを「$email-summary-1をユーザーに表示する」といった形で利用します。

SQLインジェクション対策みたいですね。

しかし、DeepMindの論文はこの設計にも欠陥があることを指摘しています。例えば、「ボブが前回のミーティングで要求したドキュメントを送ってください。ボブのメールアドレスと要求されたドキュメントはミーティングノートファイルにあります」というリクエストを考えてみましょう。

Dual LLMパターンでは、P-LLMはボブのメールアドレスを見つける作業をQ-LLMに委託します。しかし、Q-LLMも悪意のある指示に晒される可能性があります。攻撃者はこれを利用して、取得したメールアドレスを上書きし、ドキュメントを攻撃者が選んだアドレスに送信させることができるのです

CaMeLによる革新的アプローチ

CaMeL(CApabilities for MachinE Learning)はこの問題に直接対処するため、巧妙なセキュリティエンジニアリングを採用しています。

1. コードベースの処理

CaMeLでは、ユーザーのプロンプトをP-LLMがコードで記述された一連のステップに変換します。このコードには、Pythonの制限されたサブセットが使用されます:

pythonemail = get_last_email()
address = query_quarantined_llm(
    "Find Bob's email address in [email]",
    output_schema=EmailStr
)
send_email(
    subject="Meeting tomorrow",
    body="Remember our meeting tomorrow",
    recipient=address,
)

2. カスタムインタープリターとケイパビリティ

ここで革新的なのは、カスタムインタープリターを使用することで、実行されるコードに追加のルールを適用できる点です。各変数がどの変数から派生したかを追跡し、そのトレイルを考慮したセキュリティポリシーを適用できます。

上記の例では、emailは信頼できないトークンの潜在的なソースであり、それに由来するaddressも同様です。システムは以下のようなセキュリティルールを適用します:

  • get_last_email: 常に許可
  • send_email: recipientが信頼できる場合のみ許可

addresssend_emailrecipientパラメータとして渡される)が既知の信頼できるアドレスである場合、システムは最初に確認せずにそのメールを送信できます。未知のメールアドレスの場合、ユーザーにメッセージの承認を求めることができます。

「ケイパビリティ」は各変数に付けられるタグのようなもので、誰がデータを読むことができるか、データの出所などを追跡します。ポリシーはこれらのケイパビリティに基づいてアクションを許可または拒否するように設定できます。

3. プライバシーの保護

この設計には他の潜在的な利点もあります。P-LLMは計画を立て、カスタムPython方言でコードを生成する責任があるため、かなり洗練されている必要があります。しかし、Q-LLMははるかに単純なものでよいのです:

  • より小さな言語モデルをQ-LLMに使用できる
  • より高速で安価
  • ユーザーのマシン上でローカルに実行可能
  • モデルプロバイダーに対するユーザーのプライバシーを向上

これにより、CaMeLシステムはドライバーとしてクラウドホスト型LLMを使用し、ユーザー自身のプライベートデータを安全に個人デバイスに制限できます。

4. AIによる対策ではない点が重要

プロンプトインジェクションに対するこれまでの多くの提案は、さらに多くのAIを重ねることでした。しかし、AIは確率に基づいているため、99%の検出精度を達成したとしても、セキュリティ上は無意味です。なぜなら、敵対的攻撃者は常に通過する1%の攻撃を見つけるからです。

CaMeLの提案は、モデル訓練テクニックではなく、言語モデル周辺の原則に基づいたシステム設計によってセキュリティを実現する点で画期的です。