グローバル開発チームの「3つの壁」とAIによる挑戦
マネーフォワードは、法人向けのSaaSサービス「マネーフォワード クラウド」を提供し、経理財務、人事など、さまざまなバックオフィス業務の効率化を支援している。なかでも矢野氏が所属する「マネーフォワード クラウド会計Plus」の開発は、大阪・京都の拠点を中心に、東京と福岡、さらにベトナムとインドの6拠点をまたいだグローバルなチームで開発されている。
マネーフォワード クラウド会計Plusは、リリースから5年が経ち、顧客数も増加し、順調に成長を続けている。それに伴い開発組織も、海外を含む6拠点の中に9つのチームを抱えた、大きな組織となった。
矢野氏は「プロダクトの成長は大変ありがたいが、それに伴ってさまざまな課題も発生している」と言い、同社が直面した3つの課題を挙げた。

一つ目は「言語の壁」。同社のエンジニア組織は昨年から「完全英語化」され、開発のコミュニケーションはすべて英語で行っているという。しかし、プロダクトは日本の顧客向けであるため仕様の理解に齟齬が生じることや、過去のドキュメントが日本語で書かれているために情報共有がスムーズに進まないといった課題があった。
二つ目は、開発メンバーの入れ替わりによる「ナレッジ継承」の課題だ。組織が大きくなるにつれて、新メンバーの教育コストが増大することも課題になっている。
そして三つ目に、「品質保証」の課題を挙げた。組織の拡大に伴い、チームごとに品質レベルにばらつきが生じたり、開発メンバーの経験値に品質が左右されたりする。
「つまり、言語の違いや経験年数の違い、ドメイン知識の違いといった差異を乗り越え、プロセスとアウトプットを標準化していかなければいけない。ここにAIの力を使うのが私たちの挑戦でした」
矢野氏は、「AIアシスタント」と「AIエージェント」の2つのソリューションを組み合わせて課題解決に挑んだ。
AIアシスタントは、人間の作業を支援し効率化するAI。ChatGPTなどの生成AIをAIアシスタントとして活用することで、人間が手動でドキュメントを探すことなく必要な知識を取得できる。
一方、人間がゴールを指定し、そのタスクを代わりに実行するのがAIエージェントだ。AIが必要なツールにアクセスしたり、修正を行ったりしながら、自律的にゴールに到達する。
同社ではこの2種類のAIを開発サイクルの至る所に導入している。下図の通り、開発のさまざまなフェーズでAIが活用されている。

矢野氏はこの中から、「オンボーディング」と「E2Eテストの実装と実行」のAI活用の実践について、デモを交えて解説した。
Cursorで実現する次世代のオンボーディング
まずはオンボーディングのためのAIアシスタントの活用事例を紹介。これはAIコードエディタ「Cursor」の「Askモード」を利用している。
ユーザーが「今日配属されました」と入力すると、AIが「おめでとうございます」と返し、必要なセットアップの手順などを教えてくれる。加えてAIアシスタントが、資料などを検索しながらオンボーディングに必要な作業を順を追って説明してくれる。
また、AIエージェントによるオンボーディング支援も取り入れている。今度はCursorの「Agentモード」に切り替えて、タスクのゴールを設定する。
例えば「環境セットアップをお願いします」と指示すると、AIエージェントがセットアップの手順を計画・提案する。ユーザーがそれを承認すると、実際のセットアップまで実行する流れだ。
デモでは、シークレットを含む作業が必要な部分以外は、パッケージインストールから動作確認まですべてAIエージェントが自動で実行する様子が見られた。
「このように自律的に全ての設定をやってくれるのが、AIエージェントのよいところだと思います」
AIエージェントによるE2Eテストの実装自動化方法
続いて矢野氏は、E2Eテストの記述にAIを活用する事例を紹介。スプレッドシートで管理しているテストケースの中から、一つのケースをピックアップして、AIエージェントで自動化するデモを見せた。
今回もCursorのAgentモードで、ケースに紐づいたチケットの一覧を読み込ませ「テストを書いてください」と依頼する。
すると、オンボーディングの時と同様にAIエージェントがテストの計画を立てて、提案する。今回は新しく作成するテストのため、Playwright MCPに接続してDOM要素を確認するプロセスも踏んだ。
その内容を踏まえて作成されたテストを実行すると、一件だけエラーとなった。この時、エラー情報をエージェントにフィードバックすることで、エージェントが自律的に試行錯誤を繰り返す。
ここまでAIエージェントが作業を担うため、開発者は生成されたテストの構成ファイルやスクリプトを確認し、適切かどうかをレビューするだけでよい。

E2EテストのAI自動化の仕組みは、上図のようになっている。
まず、人間がAIエージェントにテストケースの作成を指示すると、エージェントはJiraのMCPに接続してテスト仕様に関する情報を取得する。次に、Playwright MCPからDOM要素を取得して一時ファイルに保存。これらの情報に基づきテスト計画を立て、ユーザーの承認を得た後、作成・実行・修正を繰り返す。全てのテストが完了すると一時ファイルを削除して結果を返し、最後に人間がレビューを行う。
AI活用の先の「ハルシネーション」と解決方法
矢野氏の組織では、こういったAIの導入によってどんな効果がもたらされているのか。
オンボーディングに関しては、セットアップにかかる時間が半日から約20分に短縮でき、作業時間の大幅な削減に成功。E2Eテストに関しても、大幅な作業時間削減が実現した。
新人を教えるメンターの負荷が軽減したことも大きなメリットだ。矢野氏は「新しく入った人は質問する際『こんなこと聞いていいのかな』という不安があると思うが、AIに対してはためらわずにどんどん聞けるので、心理的安全性も保てる」と語る。
さらに、オンボーディング・E2Eテストどちらにおいても、AIは言語に依存しないため「英語でも日本語でも聞けるうえ、元のドキュメントが英語でも日本語でも問題ない点」が重宝されている。
このようにAI活用は、当初の課題だった開発プロセスの「標準化」に大きく貢献している。しかし、Cursorを使って容易に効率化できているように見えるが、「AI実装時の課題はいろいろある」と矢野氏は言う。その中でも、AIの「正確性」や「保守性」「コスト」の問題を挙げた。
「どうしてもハルシネーションは発生しますし、冗長なテストケースを生成してしまうケースもあります。また、保守性の低いスクリプトが生成され、人間が修正するのに余計に時間かかるケースも存在します。加えて、トークンによる利用料金がかさんでしまうことも問題です」
こうした課題を踏まえて、矢野氏は「AIの信頼性が生産性に大きく影響する」と指摘。そして、信頼性を向上するための鍵は「コンテキストエンジニアリング」であると提言した。
従来のプロンプトエンジニアリングは、プロンプトに「良い質問」や「良い命令」を投げることでAIの精度を上げることを目指していた。一方で、コンテキストエンジニアリングは、プロンプトに適切なコンテキスト、情報を含めることでよい結果を目指す。RAGのようなコンテキストを取得する技術をはじめ、情報を圧縮・構造化する技術、コンテキストを管理する技術をすべて総括して、コンテキストエンジニアリングと呼ぶ。
同社では、このコンテキストエンジニアリングを重視している。例えば、E2EテストのAIエージェント活用においては、基礎的なプロダクト情報や抽象化のガイドラインをプロンプトに含めている。その他、MPC連携によるコンテキスト取得の仕組みや、失敗ログのフィードバックの管理など多面的な工夫を行っている。矢野氏は「暗黙知となっている知識を、ドキュメントに落とし込むのも重要な作業」と説明した。
こうした努力を積み重ねることによって、AIの信頼性を向上させている。矢野氏の開発組織では、「8⽉実績で概算48%のコードをAIが書いていた」という。
多くの作業をAIに任せられるようになってきたが、矢野氏は「エンジニアの役割がなくなっているのかというと、そういうわけではない」と強調。
エンジニアは、レビューにより多くの時間を使うようになった。これは言い換えれば、品質にフォーカスできるようになったということだ。矢野氏は「これからは『どうやって作るか』(HOW)から、『何を』(WHAT)『なぜ』(WHY)作るかに焦点がシフトしていく」と考察した。
その時、開発者に求められるのは「開発者としてのセンス」である。確立された原則などの知識のほか、過去のプロジェクトでの経験、ユーザー中心のデザインを実現する直感や創造性といった感性も問われるようになる。

「AIは、プロセスの標準化を助けて組織の課題解決にも貢献できると感じています。その上で大事なのが、信頼性を上げること。信頼性向上のためのコンテキストエンジニアリングが重要です。さらに、開発者としてのセンスを磨いてAI時代に備えていきましょう」

