プロテインまみれのMacからQA革命まで

いつものPodcastエピソード33回目。
いつものように竹内(@rikson_en)と収録してきました。 プロテインによるMacBookトラブルから、MCPサーバー開発、オープンソース活動まで、技術と日常が交錯する話になったので、わかりやすくお届けします。

Play

プロテインで悲劇のMacBook Air

いつものように竹内とジムへ向かう車内。今回は竹内のMacBook Airのトラブル話から始まりました。なんと400mlのうち約300mlものプロテインをMacBook Airにこぼしてしまったそうです。

「すぐにひっくり返して、中に浸透しないようにして電源を切ったんですよ」と竹内。しかし最近のMacは電源を切っても、キーボードが押されると勝手に電源が入ってしまう仕様で、拭いている最中に何度も起動してしまったとのこと。

さらに時間が経つと水分が飛んで、プロテインの人工甘味料が凝固し、キーの打鍵感が変わってしまったそうです。YouTubeで調べて自分で掃除を試みたところ、スペースキーは成功したものの、Lキーの固定部品が折れてしまい修復不能に。

「修理代10万くらいかかるとか言われて」と竹内。「自分で修理にチャレンジして、どうしようもなくなったら下取りに出して新しいMacに変えようかな」と悩んでいました。過去の経験から「壊れた機器の下取り価格は期待できない」と冗談交じりに話しています。

オープンソース「GraphAI」への貢献

話題は僕のオープンソース活動に移ります。最近、中島さんが開発しているGraphAIというプロジェクトにコントリビューションしました。

GraphAIは、TypeScriptで書かれたマルチエージェントフレームワークで、様々なAIエージェントを組み合わせて複雑なシステムを効率よく構築できるツールです。エージェントとは、例えばOpenAIのチャットAPIを呼び出すものやJSONを処理するものなど、特定のタスクを実行するモジュールのこと。

僕は「コントリビューションフェス」というイベントに参加して、Pull Requestを出しました。このイベントでは優秀な貢献者にMac mini(メモリ64GB、ローカルでLLMが動くスペック)がプレゼントされるそうです。

「オープンソース活動をしたことなかったので、やり方を調べながらやってみました」と説明すると、竹内は「既存コードを読むのは苦手だけど、新しいアプリケーションをフルスクラッチで作るのは得意」と自分のスタイルを語りました。

CursorとClineの比較とQase用MCPサーバー開発

次に竹内が最近試したAIツールの話へ。「CursorとClineを試してみました」と竹内。「Devinと遜色なく使えるなと思って。まあDevinの方がちょっと賢いなという感じはしますけど」とその感想を語りました。

僕も興味を持って尋ねると、竹内はClineがGitHub Copilotベースのモデルなら定額で使えるため、個人用途に適していると評価していました。さらに竹内はAnthropicが提唱するMCP(Model Context Protocol)を活用し、テスト管理ツール「Qase」用のMCPサーバーを自作したとのこと。

「テスト管理ツールのQaseのオフィシャルMCPがないので作ってみたんです」と竹内。このサーバーを使うとCursor経由でテストケースを追加したり検索したりできるようになるそうです。

「Confluenceから仕様を移して、テストケースを作成して出力するところまでできた」と竹内。「あとはどれくらい質を上げられるかというところ」と課題を語っていました。さらにMCPクライアントも自作したそうですが、「MCPサーバー作るのに比べて、MCPクライアント作るほうが難易度が高い」と苦労していました。

業務効率化への展望

次に、竹内はQAチーム向けのデモを月曜日に控えていることを話しました。「デモで『おーすごい』ってなったら、その後の話が通りやすい」と期待を込めています。

竹内の提案は、現在スプレッドシートで管理しているテストケースをQaseに移行し、生成AIを活用して効率化するというもの。「QAチームが抵抗があるなら、まずエンジニアが自動化しているテストケースをQaseで管理して、スプレッドシートのテストケースを減らしていく」という段階的なアプローチを考えていると説明しました。

「自動化で楽になるよねっていうのは昔から言われていること。SaaSを使うからには、『こういうことができるんだ』ということを示さないといけない」と竹内は強調。生成AIを活用していく上で、SaaSへの移行が有効だということを示したいようです。

「仕様書をめちゃくちゃ細かく書いて、プロンプトを調整して、いい感じのテストケースを作れるようにしたい」と竹内。図の処理については「PlantUMLのようなテキストベースの方が解釈しやすい」と考えているものの、「非エンジニアからしたら受け付けないかもしれない」と現実的な懸念も示しました。

僕は「段階的に移行する案はいいと思う」と賛同しました。ツールを使いこなすには実際に試してみないとわからない部分も多いので、小さく始めて徐々に拡大していくアプローチは理にかなっていると思います。

まとめ

ジムへの道中、MacBookのトラブルから始まり、オープンソース活動、AIツールの実践、業務効率化への取り組みまで幅広い話題で盛り上がりました。竹内のMCPサーバー開発と僕のGraphAIへの貢献など、二人ともエンジニアとして常に新しい技術に挑戦している様子が伝わったかと思います。

次回のポッドキャストでは、竹内のMCPデモの結果や僕のオープンソース活動のその後など、続報をお届けできるかもしれません。

いつもながら竹内との会話は刺激的で、技術の進化や実践的な応用について考えるきっかけをもらっています。皆さんも、今回のPodcastを聞いてみてくださいね!

今回の話に出てきたツール等