概要
https://tech.layerx.co.jp/entry/2025/10/17/182101
詳細内容
## ページナビゲーションエージェントを作りながら、エージェントの為の手間の少ないデータ追従を考える
https://tech.layerx.co.jp/entry/2025/10/17/182101
LayerXのエンジニアが、プロダクト内のページナビゲーションを自動化するAIエージェントを構築し、そのデータ追従における技術的課題と解決策を詳述しています。
**Content Type**: ⚙️ Tools
**Language**: ja
**Scores**: Signal:4/5 | Depth:4/5 | Unique:3/5 | Practical:4/5 | Anti-Hype:4/5
**Main Journal**: 76/100 | **Annex Potential**: 73/100 | **Overall**: 76/100
**Topics**: [[AI Agent, Web Scraping, コード解析, LLM Tools, データ同期]]
本記事では、LayerXのバクラク勤怠開発チームが、プロダクトの機能増加に伴うページ探しの非効率性を解消するため、ユーザーの要望に応じて自動でページを探しナビゲーションするAIエージェントを開発した経緯と、その実装における最大の課題であるデータ追従への取り組みが紹介されています。
著者は、初期のプロダクト開発段階において、ユーザーが求める機能がどのページにあるかを見つけるのに手間取るという課題を認識し、LLMを活用したページナビゲーションエージェントの構築に着手しました。エージェントは、ユーザーの要望を受け取ると、あらかじめ用意されたページパス一覧から該当するものを検索し、必要に応じてデータベースから`slug`に渡す引数を取得して完全なURLを組み立て、ユーザーをリダイレクトします。特に、特定のユーザー情報が必要な場合(例:「yataの出勤簿」)には、`slug`に関する説明を参照し、従業員情報を取得するツールを呼び出すことで、動的にURLを生成できる点が特筆されます。このエージェントは、わずか4つのLLM Tools(パス一覧取得、ページ内容取得、従業員情報取得、リダイレクト処理)で比較的簡単に実装できたと著者は述べています。
しかし、このエージェントを実運用に組み込む上で、「パスの一覧」「パスに紐付いたページ内容」「`slug`とそれに必要な情報の取得方法」といったデータの追従が最大の課題として浮上しました。リリースごとにこれらの情報を手動で更新するのは非現実的であるため、著者は以下の自動化手法を考案しました。まず、パスの一覧は`ts-morph`を用いて`src/pages`ディレクトリを走査することで網羅的に取得します。次に、パス単体では推測できない「〇〇があるページを見たい」といった要望に対応するため、ページの内容はChrome DevTools MCPを利用して実際のプロダクトのHTMLから取得し、これをGemini 2.5 Proで要約することで、動的な情報も高い精度でまとめることに成功しました。`slug`に必要な情報の取得方法については、将来的にGraphQLスキーマを元にClaude CodeなどのLLMにツールコードを自動生成させる可能性に言及しており、`code interpreter tool`の活用も視野に入れています。
これらの自動追従の仕組みをGitHub Actionsでリリース時に発火させることで、運用の現実味が増すとしています。今後の展望として、必要な情報のみを返せるように出力の簡素化、処理速度の速いモデルへの切り替え(Haikuなど)、そしてGitHub Actionsでの自動化検証を挙げています。著者は、AI Agent開発は敷居が高いものではなく、従来のソフトウェア開発の知見が引き続き重要であると締めくくっています。