今回もいつもの @matsuu、 @ishikawa84g でISUCON2026に参加しました。
チーム名は昨年の「ウー馬場ーイーツ・ザ・ファイナル」から「ウー馬場ーイーツ・ザ・ファイナル2」になりました。 ファイナルなのに2です。
今回もとても楽しめました。運営のみなさんありがとうございました。
結果は大爆死、最終スコアは42,185点でした。
役割分担はこれまたいつも通りこんな感じです。
- @ishikawa84g サイトやレギュレーションやコードやログやDiscordを見る情報官
- @matsuu バリバリ実装する前衛
- @netmarkjp 司令塔
わたしは、チームの中ではベンチを回す(のを通じてリズムを作る)係です。
ソースコードリポジトリーはそのうち公開されるでしょう。
今回(わたしの)テーマはローカルAI
毎回ISUCONでは何か普段と違うことをしよう・みんなと違うことをしよう、ということでやっています。
今回のテーマは定番のサービスは使わず「ローカルAI」にしました。
そんなわけで、自分はOpenCode + Qwen3.6-35B-A3B-MTP (unsloth/Qwen3.6-35B-A3B-MTP-GGUF) を使ってみました。
わたしはバリバリとコードを書く役回りではないので、手元で壁打ちしたり分析したりしてました。 かなり快適に利用できました。
コードの読解や、kataribe・dstatなどの記録や集計結果をもとにしたボトルネック分析とコードの改善提案などに使っていました。 ただまあ、今回は秘孔をつけていなかったので、結局はあまりスコアを伸ばせませんでしたね。
この主要因はモデルか、使い方か、ミートプロキシーたるわたしか、いまのところ闇の中です。今後明らかになる、かもしれません。
今回の準備
ひとまず手元のMac(メモリー32GB)でLM Studioを使っていろいろモデルを試してみました。
安定して動きそうなのはQwen3.8 27B、Qwen3.6 35B A3B、Gemma4 26B A4Bあたりでした。
事前に長めのタスクを回したりといろいろやってみた結果、その中で速度と精度と安定性のバランスがよさそうなQwen3.6 35B A3Bを使うことにしました。
ただ、どうしても速度がもう少し欲しい感じでした。 中古のGPUを見て回ったりもしたのですが、いま高いんですよね。 ならばもうM5 ProのMac miniを買うか…でも高い…となり、結局レンタルすることにしました。
というわけで、ColabでA100を借りて、Tailscaleで繋いで使いました。 A100はメインメモリー80GB、VRAM 40GBで、Qwen3.6 35B A3Bを動かすには十分です。 超快適でした。
A100はPay As You Goで100コンピューティングユニット買うと、1,179円で14時間くらい使えます。 つまりISUCONの間は使い放題ですね。
やりかたとしては、Pre-approved ONで作ったTailscaleのキーをColabの TS_AUTHKEY に登録したうえで、以下を実行すると、あら不思議。Tailscale経由でA100で動くColabのLLMに接続できるようになります(ずっと放置すると切れるのでたまに触る必要あり)。
コードはだいたいこんな感じです。
import os
from google.colab import userdata
os.environ["TS_AUTHKEY"] = userdata.get("TS_AUTHKEY")
%%bash
curl -fsSL https://tailscale.com/install.sh | sh
mkdir -p /var/lib/tailscale /run/tailscale
nohup tailscaled --tun=userspace-networking \
--socket=/run/tailscale/tailscaled.sock --port=41641 \
> /var/log/tailscaled.log 2>&1 &
sleep 3
tailscale --socket=/run/tailscale/tailscaled.sock up \
--authkey="$TS_AUTHKEY" --hostname=remote-colab --accept-dns=false
tailscale --socket=/run/tailscale/tailscaled.sock ip -4
nvidia-smi | head -15
curl -fsSL https://lmstudio.ai/install.sh | bash
export PATH="$HOME/.lmstudio/bin:$PATH"
lms --version
lms daemon up
pip install -U "huggingface_hub[cli]" hf_xet
export HF_XET_HIGH_PERFORMANCE=1
hf download unsloth/Qwen3.6-35B-A3B-MTP-GGUF \
--include "*Q3_K_M*" \
--local-dir ~/.lmstudio/models/unsloth/Qwen3.6-35B-A3B-MTP-GGUF
lms ls
lms load qwen3.6-35b-a3b-mtp \
--gpu max --context-length 262144 --yes
lms server start --port 1234 --bind 0.0.0.0
curl -s http://localhost:1234/v1/models
今回の言語
今回もGoでした。 今回もRustは断念しましたが、そもそも言語がどうとかそういうレベルに至れませんでした。
スコア推移
基本的には全任せせず指示を出していっていて、堅調に伸ばしていました。 しかしボトルネックをうまく見つけられず、結果としてあまり伸ばせませんでした。
このあたりはAIパワーによって、適切なアプローチ自体が変わったのかなと思います。 感想戦やらでまたプラクティスから作っていきたいと思います。
ISUCON本の改訂版は昨日発売だったんですけどね。 原理原則レベルでは変わっていないものの、プラクティスはだいぶ変わってしまったかもしれません。
とはいえAIが何をしたか、なぜしたか、どうしてそれが効くのかを理解するには、やはり原理原則を理解しておくことが大事だなと思っています。これは負け惜しみかな?説明責任のためには不可欠だとは思うものの、今後社会がどうなっていくでしょうね。
そんなわけで、今回は非常に悔しい結果でした。
次回もぜひまた参加したいです。参加されることを祈っています。 引き続きよろしくお願いします!
も参照してください
- TECH PLAYで登壇しました「AIがコードを書く時代、人間は何を保証するのか」 #techplay
- SRE Kaigi 2026「ベテランCTOからのメッセージ:AIとか組織とかキャリアとか気になることはあるけどさ、個人の技術力から目を背けないでやっていきましょうよ」登壇しました&裏話 #srekaigi
- デブサミ2025夏で登壇しました「AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う 」 #devsumi
- SRE NEXT 2025 アンカンファレンス オブザーバビリティセッション write up #srenext
- 書籍「バックエンドエンジニアのためのインフラ・クラウド大全」出版記念イベントを開催しました