Mackerel MCPを使って AIでISUCONに挑戦する

221 Views

January 22, 26

スライド概要

2026/1/22 Hatena Engineer Seminar #36 プロダクトを支えるAI編

決められたルールの上でパフォーマンスをいかに向上させられるかを競うISUCONというコンテストがあります。このISUCONの過去問題を題材に、Mackerel MCPを活用することで、AIがどこまで改善できるのかを試しました。この発表では、Mackerel MCPの使い方を解説し、AIがどのように改善を進めたかを振り返ります。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Mackerel MCPを使って AIでISUCONに挑戦する id:momochi29 2026/1/22 Hatena Engineer Seminar #36 プロダクトを支えるAI編 1

2.

自己紹介 ● id:momochi29 ● Mackerelチーム ● Webアプリケーション エンジニア 2

3.

モチベーション ● AIがどれくらい自律的に問題を発見・改善で きるのか試してみたい ● 問題発見にMackerel MCPサーバを使ってみ たい 3

4.

ISUCON ● Iikanjini Speed Up Contestの略 ● お題となるWebサービスをルールの上で、振 る舞いを変えずにいかに高速化できるかとい うスコアを競うコンテスト 4

5.

過去問 ● 過去問がGitHubで公開されている(ありがたい) ● 初めての場合はISUCON9予選がおすすめ ○ Webアプリケーションの王道構成 ○ 今もメンテナンスされていて変なところでハマらない (ありがたい) 5

6.

推測するな計測せよ ● パフォーマンス改善でよく使われる格言 ● AI時代でも変わらず計測は大事 6

7.

Webアプリケー ションの計測 ● ひとえに計測と言って もいくつか粒度がある 7

8.

ところで… ここだけ? Mackerel = インフラ監視専用? 8

9.

No 9

10.

Mackerelで 計測できること ● 2025/5よりAPM機能 をリリース ● インフラだけではなく アプリケーションも 計測できる ※下線は現時点で 対応しているもの 10

11.

MackerelでAPM機能を使う ● OpenTelemetryという規格に則っている ● 現在はメトリック/トレースに対応 ● 計測方法について詳しくは: https://mackerel.io/ja/blog/entry/tech/ ai-isucon 11

12.

OpenTelemetry の 計装が大変そう という方向け ● OBI(OpenTelemetry eBPF Instrumentation) というものを使うと アプリケーションコー ドには手を入れずに 計装できる 設定はこれだけ 12

13.

Mackerelにトレースを送ると 13

14.

Mackerelにトレースを送ると 14

15.

Mackerel MCP サーバ ● 2025/10にリリース ● HTTP/DB統計情報の 取得やトレースの検索 (時間がかかっているも のなど)ができる 15

16.

MCPを入れるとコンテキストが 圧迫されるのが嫌なんだけど… ● Claude Code2.1.7からMCPSearchというツールがデフォルトで オンになった ○ ○ デフォルトではMCPがContext Sizeの10%を超えるとTool Searchが使われる ENABLE_TOOL_SEARCH=auto:5 のように調整可能 ● 必要なMCPツールだけロードすることでコンテキストを節約できる 詳しくは: https://code.claude.com/docs/en/mcp#configure-tool-search 16

17.

AIにISUCONを 解かせたい ● Claude Codeで ISUCON改善エージェ ントを作成 17

18.

AIにISUCONを 解かせたい ● Claude Codeを汎用 エージェントとして 利用 ● 自然言語だけで構築 ● 良い成果が出るように ループ毎にプロンプト を調整 18

19.

プロンプトの工夫 1. 一気に全部やらず1個ずつ 2. マニュアルをちゃんと読ませる 3. サブエージェントの活用 19

20.

一気に全部やらず1個ずつ ● 一気にやってベンチマークがコケると デバッグに時間がかかる ● 小さく変更→ベンチマークを徹底 20

21.

マニュアルをちゃんと読ませる ● ISUCONのスコアはリアルを反映している (と思う) ○ 例) ISUCON9予選ではcampaignという変数があり、 この数値が大きいほど人が殺到する。全部捌けたら スコアが爆増する 21

22.

サブエージェントの活用 ● 強いチームは役割を分けていそう ○ 大技を繰り出す人 ○ 小技で着実に改善する人 ○ インフラのチューニングをする人 ● git worktree による並列実行はうまく行かな かった ○ ベンチマークは並列に動かせない 22

23.

AIによる改善の様子 ● 段階を踏んで改善していた ○ 1. 計測から発見したボトルネックの解消 ○ 2. マニュアルを読んで改善 23

24.

計測から発見した ボトルネックの解 消 ● この改善によって、DB クエリのボトルネック は大体解消した ● 1810点 → 15160点 24

25.

マニュアルを読ん で改善 ● 明らかなボトルネック がなくなったことで、 campaignを高めても捌 けるようになった ● 15160点 → 43500点 25

26.

マニュアルを読ん で改善(失敗版) ● ボトルネックを潰し終 える前にcampaignを高 めようとしていたが失 敗していた ● (おそらく) 逆に言うと campaignを高めるため に何をするべきかAIが 考えるに至った 26

27.

スコア遷移 27

28.

感想 何やってるか知らんけど何か改善した 28

29.

感想 ● 何やってるか知らんけど何か改善した ○ シグネチャが変わっていなければ中身は気にしない、 の超高級版? ○ これが許されるのはベンチマークで整合性が保証され ているのが大きいだろう 29

30.

試してみてください! ● Mackerel のAPMは500万スパン/月まで無料 ● 今回の検証は405万スパンで無料で出来た 30