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

connpass LT会検索エージェントを作ってみた話

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

connpass LT会検索エージェントを作ってみた話

Avatar for Yosuke Suzuki

Yosuke Suzuki

August 12, 2026

More Decks by Yosuke Suzuki

Other Decks in Technology

Transcript

  1. 作ったもの ◆Connpassのイベントを定期通知してくれるSlack App <ツール概要> ◆AI がイベントを検索して要約 ・日時・場所・参加者数・URL をまとめて整理 ◆毎朝の自動配信 ・毎朝

    JST 9:00 に Slack へダイジェストが届く ◆メンションで対話検索 ・その場で検索し、スレッドで会話を継続 ◆複数キーワード対応 ・興味のある分野をカンマ区切りで指定
  2. 使用した主な技術 ◆Amazon Bedrock AgentCore ・エージェントのマネージド実行環境 ◆Strands Agents SDK ・エージェント構築フレームワーク ◆connpass

    API v2 ・イベント検索。API キーは事前申請が必要 ◆SSM Parameter Store ・認証情報を SecureString で保管 ◆AWS CDK ・インフラのコード管理とデプロイ connpassのAPI利用について: https://help.connpass.com/api/
  3. システム構成 (毎朝の自動配信フロー) ① EventBridge ② Scheduler Lambda ③ AgentCore Runtime

    毎朝 JST 9:00 に起動 「検索中…」を先に投稿 Strands Agent を呼び出す ⑥ Slack に投稿 ⑤ Agent が要約 ④ connpass API v2 chat.update で差し替え Slack mrkdwn 形式で整形 キーワードでイベント検索
  4. システム構成 (対話的な検索フロー) ① Slack でメンション ② API Gateway ③ slack-verify

    @bot に話しかける Slack イベントを受け取る 署名を検証し即 200 OK ⑥ スレッドに返信 ⑤ slack-process ④ SQS chat.postMessage AgentCore で検索・要約 非同期でキューに積む
  5. 実装のポイントとハマりポイント ◆エージェント定義はシンプル • モデル・プロンプト・ツールを渡すだけ • 軽量で安価な nova-2-lite でコスト重視(安さは正義) ◆出力を Slack

    mrkdwn で指定 • 後加工なしで Block Kit にそのまま流せる ◆Connpass APIのレート制限への対策 • connpass API v2 は 1 リクエスト/秒 • 2 秒スロットル + 指数バックオフの二段構え
  6. 実装のポイントとハマりポイント ◆エージェント定義はシンプル • モデル・プロンプト・ツールを渡すだけ • 軽量で安価な nova-2-lite でコスト重視(安さは正義) ◆出力を Slack

    mrkdwn で指定 • 後加工なしで Block Kit にそのまま流せる ◆Connpass APIのレート制限への対策 • connpass API v2 は 1 リクエスト/秒 • 2 秒スロットル + 指数バックオフの二段構え ◆ハマり: SSM 動的参照が使えない • Runtime 側のコードで SSM から取得 → 素直にAgentCore Identity使えばよかった • →既存で動かしていたシステムの移行のため使える部分を流用した(SSM)
  7. まとめ ◆毎朝 Slack に勉強会情報が届くようになった • イベントの見逃しが減り、気になればその場で深掘りできる • AgentCore + Strands

    Agents SDK + CDK で実装はシンプル ◆今後の課題 ①: せっかくなので もっとAgentCore に寄せたい! • Slack トークンを AgentCore Identity で管理。Runtime 経由なら追加費用なし • AgentCore Gateway で Lambda を MCP ツール化 ◆今後の課題 ②: Slack App 側の改良 • Block Kit で出力の視認性を上げる • DM ならメンション不要に。message.im の購読と im:history で実現