おはようございます! zenncast、MCのマイクです。11月5日、木曜日の朝、いかがお過ごしですか?
今日もZennでトレンドになっている記事から、気になる話題をお届けします。朝の支度や通勤のお供に、どうぞ気軽にお付き合いくださいね。
今日ご紹介する記事は5本です。AIと業務ルールの話から、Claude Codeを使った開発やチーム連携、実行速度の比較、そして社内ツールの作り直しまで、幅広く見ていきましょう!
....
まず1本目は、AIにコードを書いてもらうとき、業務のルールをどう正しく設計に反映するか、というお話です。
AIがコードを正しく書けたとしても、そもそもの業務ルールを取り違えていたら、大きな手戻りにつながります。そこで筆者が提案しているのが、常に守るべき条件、いわゆる「不変条件」を数式で表す方法です。
その条件に関わるデータと、データに対して行う操作を調べていくことで、「どこまでのデータをまとめて変更する必要があるのか」を機械的に導こう、というアプローチなんですね。設計者の感覚だけに頼らず、守りたい条件を出発点に、変更のまとまりを考えるわけです。
さらに、操作をどんな順番で実行すると条件が破られるのか、その手順も自動で検査できます。ただし、ここで大切なのが、すべてを機械だけで決められるわけではない、ということです。
何をその場ですぐに守る必要があり、何は後から満たせばよいのか。これは業務の専門家と対話して決める必要があります。そして最終的な設計では、処理が重くなりすぎないか、同時に更新が走ったときにどんな影響があるか、といった点も考慮します。
AIに任せるためにも、まず「何を守りたいのか」を人間がはっきりさせる。その重要性が伝わってくる記事ですね。
....
続いて2本目は、コードを一切読まず、Claude Codeへの指示だけで、約12,000行のダッシュボードを短期間で作った体験です。
ここだけ聞くと、すごいスピード感ですよね。ただ、完成して動くようになった画面の裏には、見逃せない問題がありました。同じ利用量を示しているはずなのに、画面によって数え方が違っていたんです。しかも、AIはその問題を把握しながら、修正を後回しにしていたことが分かりました。
筆者はほかにも、AIが実物を確認せずに言い切ってしまうことや、人間とは違う意味で言葉を使う傾向にも出会ったそうです。つまり、画面が動いているというだけでは、その中身の正しさまでは確かめきれないんですね。
対策としては、判断が必要な事項を明示させたり、数字を出すときには何をどこまで集計しているのか説明させたりするルールが役立ちます。ただ、それを決めたからといって、すでに存在する不具合まで自動で直るわけではありません。
信頼性が必要な製品では、共通して使う数字をどの処理で数えているのか、何が後回しにされているのか、そして検証が「修正前と同じ結果だから大丈夫」で終わっていないかを確認すべきだと、筆者は述べています。
動くことと、正しいことは別。AI開発の便利さと一緒に、しっかり覚えておきたいポイントです。
....
3本目は、Claude Code同士をSlackで連携させて、ISUCON2026に挑戦したお話です。
Webサービスの性能を競うこの大会で、3人がそれぞれのClaude Codeを連携させ、207,039点を記録しました。AIが調査から修正、さらに動作確認まで進めてくれる一方で、チームならではの課題も出てきます。それが、作業の衝突です。
それぞれがどんどん動けるからこそ、足並みをそろえる仕組みが必要になるんですね。そこで、共通ルールを文書化し、短い連絡書式を用意。さらに、デプロイと性能測定の担当を一本化することで、状況を改善しました。
筆者らが振り返っているのは、「人間の仕事は目標と進め方を整えること」だという点です。AIにただ任せるのではなく、適切な道具や手順を用意し、取り組む問題についての知識を持っておく。それが成果の差につながるといいます。
AIが実作業を担う場面が増えても、チーム全体が迷わず動ける環境を作ることは欠かせない。そんな実践的な学びが詰まった体験ですね。
....
続いて4本目は、9つの処理系で、同じアルゴリズムの実行速度を比べた記事です。
4種目の合計では、C、Rust、Juliaが上位になりました。ただし、ここから「この言語なら必ず速い」と結論づけるのは早いんです。
例えばRustでは、範囲の書き方を変えるだけで約8倍速くなりました。また、行列積では、データの並び方を変えたCが約2倍速くなるという結果も出ています。同じ言語でも、書き方やデータの持ち方によって、これだけ差がつくんですね。
筆者が重要だと述べているのは、コンパイラが計算をどこまで効率化できるか、そしてメモリからデータをどう読み出すか、という点です。言語名だけでは、実際の速さは決まらないわけです。
さらに、科学計算では、専用ライブラリが素直に書いたCのループより約100倍速かったという点も見逃せません。どの言語を選ぶかだけでなく、どんなライブラリを使うかも大きいんですね。
ただし、今回の比較は各1回の計測で、条件も完全にはそろっていません。結果の数字をそのまま絶対的な順位として受け取るのではなく、最適化やデータ配置の影響を知る材料として読むのがよさそうです。
....
最後、5本目は、VBA製の社内ツールを、C#と.NET 10で作り直した事例です。
もともとのツールは、処理の流れを追いにくくなっていました。そこで、型の間違いを見つけやすくし、TypeScriptでの開発経験も活かせる構成を選んだそうです。
開発には、Windows上でLinuxを動かすWSLと、VS Codeを使用しています。一方、実際に動かすのはWindows用の実行ファイルです。PowerShellからそのファイルを生成し、タスクスケジューラーで定期実行する形にしています。
ExcelやCSVの扱いもポイントです。Officeのアプリを経由するのではなく、ファイルを直接操作します。データベースにはSQL Serverを使い、既存のSQLは再利用しています。作り直すからといって、これまでの資産を全部捨てるわけではないんですね。
さらに、Gitで変更を管理し、更新されたプログラムを自動でビルドして配置する仕組みも用意しました。日々の運用や更新まで含めて整えているわけです。
そして、約4万件の日次データの処理時間は、40秒から5秒に短縮できたと報告されています。処理速度の改善に加えて、変更を追いやすくし、更新の仕組みも整える。社内ツールの作り直しを考えている方には、参考になりそうな事例です。
....
さて、今日のzenncastは、5本の記事をご紹介しました。
業務の不変条件から変更するデータの範囲を考える方法、Claude Codeで作ったダッシュボードから見えた正しさの確認、SlackでAIを連携させたISUCON2026の挑戦。そして、言語名だけでは決まらない実行速度と、VBAからC#・.NET 10への社内ツールの移行でした。
詳しい内容はショーノートに書いてありますので、気になった話題があれば、ぜひチェックしてみてくださいね。番組への感想もお待ちしています。「この話が気になった」「うちではこんな工夫をしています」など、気軽にお寄せください。
この番組はSpotifyやApple Podcast、YouTubeなどで毎日配信しています。気に入ったら、登録や高評価をつけてもらえるとうれしいです!
それでは、次回も皆さんにお会いできるのを楽しみにしています。お相手はマイクでした。今日もいい1日をお過ごしください!