Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web エンジニアが JavaScript で AI Agent を作る / JSConf J...

Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session

Avatar for Masayuki Izumi

Masayuki Izumi

November 15, 2025
Tweet

More Decks by Masayuki Izumi

Other Decks in Programming

Transcript

  1. @izumin5210 © LayerX Inc. whoami LayerX バクラク事業部 (2022-09 -) Platform

    Engineering 部 Enabling チーム Staff Software Engineer バックエンドや Web フロントエンドが専門です ISUCON14 4位 好きな AI SDK 6 の機能は callOptionsSchema
  2. AI Agent 作ってる? © LayerX Inc. AI Agent 使ってますか? Coding

    Agent: Claude Code, Codex, GitHub Copilot, ... Deep Research とか AI Agent 作ってますか? (Web Engineer だから / AI の専門スキルないから)といって見て見ぬふりをしてないか? Prompt Engineering とか興味ないなあ… と見て見ぬふりをしてないか? 僕はちょっとしてました 実際やってみると、これまでの延長線でもできること・挑戦すべきことが多い! …というのを感じてもらうのが発表の目的 6
  3. AI Agent や LLM で何が変わるか モデルが REST API になる ©

    LayerX Inc. モデルが巨大になったことで、自前で学習・ホストせず プロバイダがホストするモデルを REST API 経由で使うことが主流に ステートレス であり、JSON を投げたら JSON が返ってくる 見慣れた形式の API 8
  4. モデルが REST API になると? © LayerX Inc. 機械学習周りのエコシステムへの依存度が下がり、 言語選択にある程度の自由度が出る Python

    でなくてもいい範囲が広がる JavaScript にも、 OpenAI Agents SDK や Vercel AI SDK といったライブラリ あるいは Mastra のようなフレームワークが登場 挙動の制御・最適化が 学習ではなく入力(コンテキスト) でなされるようになった 1つの REST API で様々なタスクに対応できる 従来の Web Backend/Frontend のフィールドで扱える範囲が広がっている 10
  5. AI Agent の定義 Agents, on the other hand, are systems

    where LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks. - Building effective agents * © LayerX Inc. * Anthropic, 2024, https://www.anthropic.com/engineering/building-effective-agents 12
  6. AI Agent 実装を単純化すると… これだけ見ると 単純な JSON のやり取り でしかない © LayerX

    Inc. ステートレスな REST API にプロンプトを投げ、レスポンスを見るだけ レスポンスが「ツール実行指令」だったら、その通りに実行 続けてメッセージを投げるときは、 これまでのメッセージ履歴に追記 して コンテキストとして投げる 16
  7. Observability 改善の例: Langfuse © LayerX Inc. Langfuse のトレースからわかること 各ステップの実行時間 使用トークン数

    ツール呼び出しの詳細 エラー発生箇所 APM ツール(DataDog, New Relic)と同じ感覚 参考: 安定したAIエージェント開発・運用を実現するLangfuse活用方法 30
  8. Evals (評価) テストの代わりに「評価」を行う © LayerX Inc. Input / Output の期待値を列挙(Parameterized

    Test 的) 結果を === で判断できないケースが多い LLM に評価させる: LLM-as-a-Judge Yes/No の判定 スコアリング (1-5点) 32
  9. 簡単な Offline Eval の例: evalite © LayerX Inc. evalite ローカルで簡単に実行できる

    Vitest ライクな API データセット、タスク、スコアラーの3要素で構成 参考: Evaliteによるlocal nativeなLLM evals実行環境 33
  10. Web Engineer の専門性が活きる領域 © LayerX Inc. 従来の延長線上にある課題: UI/UX → Long-running

    な処理、HITL アーキテクチャ → 技術選定, ツール設計, バックエンド設計 信頼性 → Durable Workflow 認証・認可 → B2B SaaS での AI Agent 認可 バックテスト ... 41
  11. UI/UX の課題 © LayerX Inc. Long-running な機能を、体験が悪くならないように提供するには? 数秒〜数分かかる処理 バックグラウンド実行とステータス通知 最適な

    UI はチャットだけではない はず 例えば「ボタンを押すだけ」など、もっとラクに使える UI はないか あるいはイベントドリブンに勝手に動いてくれれば UI はそもそもなくせないか 参考: LangChain Blog: Introducing ambient agents HITL(Human-in-the-Loop) の体験 をどう設計するか タスクとインタラクションの設計が重要 42
  12. デファクトのフレームワークは(たぶん)まだない © LayerX Inc. 現状まだまだ AI Agent に関する様々な技術は発展途中である いま最適な抽象化だとしても、後から発見されたユースケースに対応できないかも e.g.

    高度な Context Engineering を適用したい handoff など、高度な Agent 操作をしたい 単純なツール実行可否 yes/no を超えた HITL よって、現時点では抽象化を控えめにするモチベーションがある AI Agentフレームワークを使うべきなのか? Ship AI recap: Agents, Workflows, and Python — w/ Vercel CTO Malte Ubl 44
  13. 耐久性のあるワークフロー実行 © LayerX Inc. Temporal, Vercel Workflow いずれも Durable な

    Workflow 実行をサポート 何らかの要因で処理が中断されても、そこから安全に再開できる 外部からのイベントを受ける(待ってる間は止まる)ようなワークフローも、 普通の関数のように記述できる ワークフローが1つの関数のように振る舞うので、状態管理も用意 52
  14. Vercel Workflow の余談 © LayerX Inc. AI 関係なく、バックグラウンドジョブを簡潔に記述でき、 信頼性高く実行できる基盤としてアツい 最初期の技術選定では見落としがちかもしれないが、

    プロダクト開発ではほぼ必須の要素 これをデファクトを備えているフレームワークは意外と少なく、 これが Next.js にインテグレーションしやすい形で出てきたのは大きい 53
  15. Agent 向けのツールあるいは API 設計 A common error we’ve observed is

    tools that merely wrap existing software functionality or API endpoints—whether or not the tools are appropriate for agents. This is because agents have distinct “affordances” to traditional software—that is, they have different ways of perceiving the potential actions they can take with those tools - Writing effective tools for agents — with agents * © LayerX Inc. * Anthropic, 2025, https://www.anthropic.com/engineering/writing-tools-for-agents 54
  16. Agent 向けのツールあるいは API 設計 AI Agent を構築する際、既存の API を薄くラップしたツールを作成するのは一つの方法です。特に、リソ ース指向の参照系

    API であれば、一つの汎用的なツールで幅広いデータを取得できるため、一見すると理 にかなっています。 しかし、このアプローチは LLM にとって最適ではありませんでした。汎用的なツールを使うと、LLM はま ずデータを取得し、その結果を解釈してから次のアクションを推論するという多段階の思考を強いられま す。このプロセスが複雑になるほどエラーの可能性が高まり、さらに必要以上のデータを取得してコンテ キストウィンドウを圧迫するという問題も生じました。 - 申請作成 AI Agent の PoC での試行錯誤と学び * プロダクトで利用している API をただラップすればいいというものではない © LayerX Inc. * LayerX, 2025, https://tech.layerx.co.jp/entry/2025/09/19/191318 55
  17. 認証・認可の課題 © LayerX Inc. 様々な Tool が接続され、プロダクト上のあらゆるリソースを操作可能な Agent に ユーザと同じ権限を与えてもいいのか

    B2B SaaS における AI Agent 向けの認可に向けた課題 IdP で中央集権的な認可の管理を実現できる(かもしれない) ID-JAG の紹介 56
  18. 新たな問題領域 © LayerX Inc. 手触り感のあるContext Engineering バックテスト お客様が AI Agent

    機能を安心して使えるようにするための、過去データに対する評価 AI Agentのビジネス価値を計るバックテスト基盤の構築 『AI Agentのビジネス価値を計るバックテスト基盤の構築』を支えるSnowflake上での任意時点のスナップショ ット取得を実現するデータパイプライン 57
  19. AI Agent 開発の技術領域・技術的チャレンジ © LayerX Inc. Web Engineer の専門性が活きる領域 UI/UX,

    アーキテクチャ, Durable Workflow, 認証・認可 ... 新たな問題領域 Context Engineering ... ... 新しい技術的チャレンジが多数ある! 61
  20. まとめ LLM によって「できること」にどういう変化が起きたかや、 システム設計・アーキテクチャにどういう影響が起きるかを Web エンジニアも知っておくことは重要 © LayerX Inc. LLM

    の登場で、Backend / Web Frontend のエンジニアの専門領域から AI に触れやすくなる 一方で、自分たちの専門領域にも大きな変化・新たな技術的チャレンジが多数発生する 62
  21. JSConf JP 2025 にブースも出してます 実際の ADR と Design Doc を展示しています

    今日の話を詳しく聞きたい / 普通にフロントエンドの話を聞きたい方もぜひ! © LayerX Inc. 67