どちらでも
AI 中級者

Kotlinで進化するAgent to Agentの未来 〜Kotlin × ADK Javaが魅せる新たな可能性を探る〜

_subnaganaga なが

Agent Development Kit(ADK)は、Google Cloudが発表したAI Agentを開発するためのフレームワークです。Google I/O2025でJava版のADKが公開され、Kotlinを含むJVM環境からの利用が現実的な選択肢となりました。

本セッションでは、Java版ADKのSpring Boot + Kotlin環境での動作事例を起点に、KotlinがAI Agentの土台としていかに強力な選択肢となり得るかを探ります。
後半では、Model Context Protocol を介したAgent-to-Agent 通信の概念にも触れ、複数のAIが連携し、より高度なタスクをこなす「Agent to Agentの未来」をKotlinで実現する可能性を深掘りします。

みなさんもKotlinを用いたAI Agent開発の新たな可能性を共に探求してみませんか?

3
どちらでも
Kotlin Multiplatform/Compose Multiplatform 中級者

Compose Multiplatformで真のマルチプラットフォームを目指す

kotambourine こた

Compose Multiplatform (CMP) は、KotlinのコードベースでAndroid、iOS、Desktop、WebアプリのUIを共通化できる画期的なフレームワークです。
しかし、Jetpack Compose及びKotlin Multiplatform Mobileの流れを汲むがゆえに、依然としてAndroidとiOSというモバイルの話に限定されがちです。

本セッションでは、CMPの中でも特にDesktopおよびWebに焦点を当て、Kotlinにおけるクロスプラットフォーム開発についてお話しします。

  • Compose for Desktop
  • Kotlin/JS, Kotlin/WASM
  • Compose for WebがExperimentalからAlphaに至るまでの歴史
  • CMPの便利なライブラリとフレームワークの紹介
3
どちらでも
Kotlin Multiplatform/Compose Multiplatform 中級者

CMPでAIエージェントなデバッグツールを作ってみたい

nyafunta9858 nyafunta9858

AIエージェントの登場により自然言語ベースで複雑なタスクも自然言語で実行できるようになりました。既に多くのサービスがこの新しい世界と繋がるためMCP対応を進めており、今最も注目されている話題のひとつだと思います。
こういったシステムの登場により、人の手では再現が困難な不具合や冗長な操作手順を必要な事象の確認など、普段悩ましく感じられる課題を解消できないかと考えたことがあるのではないでしょうか。

実はKotlinでもAIエージェントなツールを開発することが可能で、その実現方法の中にはKMPに対応しているものやJVMサポートをしているものもあります。つまり、CMPを使った自然言語ベースのデバッグツール開発へ挑戦出来るんです。少しワクワクしてきませんか?

本セッションではCMPとMCPを活用したアプリ開発での知見や、実際に躓いた点などを共有出来ればと思います。

どちらでも
Kotlin言語・プログラミング 初級者

「関数」と「命令」で切り拓く単体テスト戦略〜デグレを防いで価値を生み続けるために〜

おはぎ

本セッションでは、どんな複雑なKotlinプロジェクトも、「関数」と「命令」の二つに分類することでテスト可能性を向上させる洞察を得ることができることを示します。

外部システムに依存しないロジックは「関数」として表現し、JUnitなどの軽量なテストフレームワークで徹底的なテストを行い、一方で外部システムとの相互作用や副作用を伴う操作は「命令」として捉え、最小限のMockフレームワークを利用し振る舞いを検証します。

Kotlinの強力な型システム(Null安全、Sealed Class/Interfaceなど)は、この設計戦略を強力にサポートします。コンパイルの段階で状態やイベントを網羅的に表現し、「関数」の純粋性を保証し、安全なリファクタリングを可能にします。

本セッションでは、Kotlinの強力な型システムと単体テストのアプローチを駆使して複雑なシステムを紐解いていく術を紹介します。

6
どちらでも
Kotlinの活用事例(仕事や学業など) 中級者

Kotlin未経験からのサーバーサイド開発:なぜ選び、どう乗り越えたのか?

yusuke.shorei

近年、Webアプリケーションのサーバーサイドにおいて、Kotlinが採用されるケースが増えてきました。
私たちの開発チームも新プロダクト立ち上げ時にKotlinを採用しましたが、10人超えのチームにも関わらず経験者は1人もいない状態でした。

型安全性やJavaとの親和性など、Kotlinに何を期待するか取捨選択をしながら採用しました。
採用から2年、一定の成果が得られた一方で、「あの時こうしておけばよかった」「こうなるとは思っていなかった」といった悩みが生まれています。

  1. なぜ未経験チームがKotlinを選んだのか?
  2. 開発初期の意思決定(例: アーキテクチャ, FW, 言語仕様・構文の取捨選択)
  3. 採用した成果と見えてきた課題
  4. 今後の改善方針と、AIとの付き合い方

Kotlinに興味はあるがチーム導入に悩んでいる方、導入初期の悩みを持つ方の参考になれば幸いです。

1
どちらでも
Kotlin言語・プログラミング 中級者

プロポーザルから覗き見る、Kotlinの言語機能展望

black_bracken わらび

Kotlin 2.0が発表されて早1年、様々な機能と共に言語機能にも拡張が加えられました。
本セッションでは、そんなKotlinに直近追加された機能を振り返りつつ、公式の発表やプロポーザル(KEEPやYouTrack)を見ながら、今後加えられる可能性のある言語機能などを眺めていきます。
本セッションは、今後どのようにKotlinが変わっていくのか、その方向を知る風見鶏となることを目指します。

内容(登壇時には一部変更されている可能性があります)
・ Kotlinにおける言語機能の進化原則
・ Kotlin 2.2.0 から有効になった機能
・ Context Parameters (prev: Context Receivers)
・ Union Types for Errors
・ Explicit backing fields
・ Support immutability

3
どちらでも
Kotlin言語・プログラミング 初級者

アノテーションの内部実装を理解して、自分だけのアノテーションを作ろう

monaka_12 こたろう

Kotlinのアノテーションは日々の開発で触れているものの、その内部実装や作成方法を深く理解している開発者は多くありません。本セッションでは、アノテーションの基本概念から実際の活用事例まで、実践的な内容で学習できます。

まず、既存のアノテーションの内部実装を解剖し、どのような仕組みで動作しているかを解説します。次に、KSPを使った現代的なアノテーション処理の実装方法を学び、kaptからの移行メリットも説明します。

後半では、実際のカスタムアノテーション作成例を複数紹介します。ログ出力の自動化、データ検証、コード生成など、実務で即活用できる具体的なコード例を通じて、メタプログラミングの威力を理解できます。

参加者は、アノテーションの仕組みを深く理解し、自分のプロジェクトに合わせたオリジナルアノテーションの設計指針を身につけられます。開発効率を向上させるKotlinの力を発見しましょう。

1
どちらでも
AI 初級者

Android開発者のためのローカルAI入門:Gemma3nとKotlinで作る実用的なAI内蔵アプリ

monaka_12 こたろう

クラウドAPIに依存しない、デバイス上で動作するローカルAIアプリケーションの開発手法を解説します。GoogleのGemma3nモデルを使用し、テキスト・画像・音声に対応したマルチモーダルAIアプリをKotlinで構築する具体的な実装パターンを紹介します。

セッションでは、Android Studio+Kotlin環境でのGemma3nセットアップから、実際のチャットアプリケーション実装まで、重要なコードポイントを説明します。プライバシー保護、オフライン動作、レスポンス速度最適化など、実用アプリに必要な技術的課題とその解決策も深掘りします。

従来のクラウドAI開発との違いや、ローカルAIの限界と可能性についても議論し、参加者がすぐに自分のプロジェクトで試せる具体的な実装例とベストプラクティスを共有します。AI初心者から経験者まで、Kotlinでの新しい開発体験を一緒に探求しましょう。

どちらでも
Kotlin言語・プログラミング 初級者

AndroidとiOSのアーキテクチャの歴史と進化 〜プラットフォーム横断で見る設計思想の変遷〜

monaka_12 こたろう

ターゲット
・アーキテクチャの歴史を復習したい人
・最近Android,IOSに触れ、昔の歴史を加味してアーキテクチャを理解したい人

概要
参加者の中には最近Androidエンジニアになった方や学生の方々も多いのではないでしょうか。
そんな方々に向けた、今までの歴史を振り返り、アーキテクチャの理解度を上げるためのセッションです。
初期からのアーキテクチャの主要な部分をAndroid,IOS横断で遡り、現状のMVVM,TCA,Fluxなどの思想の分かれ方の理解を深めます。

テーマ理由
・宣言的UI普及により、アーキテクチャが転換期であるため
・他の方のセッションで最先端のアーキテクチャ考察があると考え、前提となるセッションがあった方が良いと考えたため。

1
どちらでも
Kotlin言語・プログラミング 初級者

Kotlinと向き合いながら見えてきた、UI実装の思考と言語間のつなぎ目

fumiyasac 酒井文也

2020年にAndroid/Kotlinの開発をゼロから始めて以降、モバイルアプリ開発に向き合う中で、iOS(Swift)とAndroid(Kotlin)の違いと向き合いながら、両者の実装・設計思想に触れる機会を多く得てきました。

本セッションでは、Kotlinを軸としつつ、iOSとの比較を通じて得られた「UIやレイアウトの設計に対する考え方の違い」や「言語間の共通点・相違点から得られる学び」を事例ベースで紹介します。

また、業務で得たインプットをどのように実装や設計に落とし込んでいったか、初学者からある程度応用できるレベルに至るまでに意識していたポイントや、実務で活きた視点についてもお話しします。

iOS/Android両プラットフォームに関わる方や、これからKotlinやAndroidアプリ開発に取り組もうと考えている方にとって、実践のヒントとなるような内容をお届けします。

1
どちらでも
Webバックエンド/サーバサイド 中級者

内部動作を理解してハイパフォーマンスなサーバサイドKotlinアプリケーションを書こう

ternbusty Ayako Hayasaka

本セッションでは、主にSpring Bootアプリケーションについて、性能を左右する 同期・非同期 / Blocking・Non-Blockingの挙動を、syscallレベルまで掘り下げた解析と負荷試験の実測値を交えて解説します。

内容

  • I/O待ちでOSスレッドブロックを避けるにはどんな選択肢があるか
  • CoroutineとSpring WebFluxやVirtual Threadを併用するとどのような挙動になるのか
  • Spring Boot×Kotlinで避けるべき、性能に影響を与えるBad Practiceは何か
  • Pure Kotlinな他フレームワークの性能上のメリット・デメリットは何か

対象者

  • 各種フレームワーク、Virtual Threadの内部動作を理解したい方
  • 適切な技術選択のための判断基準を得たい方
4
どちらでも
Kotlin言語・プログラミング 中級者

モダンKotlinへのリファクタリング

chigichan24 chigichan24

過去に書いたその時にベストだったコードも、Kotlinの進化によって、今ではもっとスマートに書けるかもしれません。新しい機能の導入背景を知りながら、モダンKotlinに書き換えていきましょう。
このセッションでは、Kotlin 1.9以降に入った機能に触れつつ、主に以下のケースについてどう書き換えるかの具体的なユースケースを紹介していきます。

  • enumのentriesプロパティについて
  • より賢くなったsmart castについて
  • kotlin.timeパッケージ
  • when式でのguardコンディション
  • Non-local break

このセッションを、コードを書くとき・レビューするときに、なぜその機能が追加され、どのように使うことが推奨されているのか、という背景まで理解して、よりよいKotlinを書くきっかけにしましょう。私達の書くコードはもっとスッキリするはずです。

どちらでも
Kotlinの活用事例(仕事や学業など) 中級者

大規模レガシーに挑む「-1→1」のKotlinマイクロサービス開発

hondaya14 本多康久

サービスのスケールに伴い負債を抱えた大規模なレガシーシステムでは、マイクロサービスの新規開発は0→1ではなく、負債を精算しつつ進める-1→1の開発です。
本セッションでは、共有DB、分解ではなく分散してしまったマイクロサービス群によって複雑化した環境での新規マイクロサービスの立ち上げにKotlinを採用し、
・data/value classを用いた効率的なドメインモデリングでのDDD
・copy()のvisibilityなどKotlinが持つ課題、また成長方向を見据えてのイミュータブルを軸にしたプログラミング
・Gradle Kotlin DSLによるマルチプロジェクトなクリーンアーキテクチャ
・マイクロサービス間の結合度合いを意識した段階的データ洗浄フローのアプリケーション実装
を通じて、Kotlinをなぜ選定したかどう活用したか、そして負債を解消する具体手法と知見を共有します。

2
どちらでも
Webバックエンド/サーバサイド 中級者

ビジネス仕様をありのままにコードに翻訳する技術 - Kotlinに仕様漏れを見つけさせよう

uryyyyyyy Koki Shibata

本セッションでは、ビジネス仕様をできる限りありのままにコードで表現(翻訳)するテクニックをKotlinを用いて解説していきます。

なぜビジネス仕様をありのままに表現したいのでしょうか?それは仕様や解決したい課題を正しく理解するためです。
自然言語で書かれたビジネス仕様は、どうしても曖昧な表現を含んだり、全てのシナリオが考慮されていなかったりします。その結果として出来上がったシステムは、仕様を考えた人(ドメインエキスパート)が想定していない挙動をしてしまうことがあるでしょう。

Kotlinの言語機能を活用してビジネス仕様をコードへ翻訳していくことで、現行の仕様では情報が不十分なときに、コンパイルエラーという形でKotlinが教えてくれるようになります。

最終的に出来上がったコードが、ドメインエキスパートが読んでも理解できるのが理想!

どちらでも
Webバックエンド/サーバサイド 中級者

Coroutine 可視化で学ぶスケーラブルなサーバサイド Kotlin

ternbusty Ayako Hayasaka

「Coroutineで処理を書いてみたけど、本当に非同期処理されているの?」「パフォーマンスが出ないのは、どこかでOSスレッドがブロックされてるせい?」「CoroutineとVirtual Threadを併用するとどうなるの?」「ダンプやデバッガの出力は複雑でわからない!」

サーバサイドKotlinのユーザに生じるこれらの疑問に対して、既存のデバッグ手法は煩雑でわかりにくいのが現状です。本セッションでは、Java Agent・JFR・DebugProbesを組み合わせた自作の可視化ツールを使い、CoroutineがどのOSスレッドでいつ動き、suspendされ、またどのOSスレッドがblockされているかをタイムライン表示で直感的に確認できる方法を紹介します。

対象者

  • サーバサイドでCoroutineをなんとなく使っている方
  • デバッガの出力が読みづらく挙動を追いきれない方
3
どちらでも
ツール/エコシステム 中級者

Arrow Optics と cream.kt で Kotlin のデータコピーのボイラープレートを減らす

tbs__ten てべすてん

Kotlinの data class が提供する copy メソッドは非常に便利ですが、異なるクラスへの状態遷移や、深くネストした Immutable データの更新といった複雑なシナリオでは 多くの手作業によるボイラープレートコードが発生しがちです。

本セッションでは、KotlinのImmutableデータ操作を強力にサポートするArrow Optics と コピー関数を自動生成する KSPプラグインの cream.kt を活用し、これらの課題をどのように解決できるかをご紹介します。
両ライブラリの基本的な使い方から それぞれの得意分野、そしてこれらを組み合わせることで、いかにKotlinのコードがクリーンで保守しやすくなるかを具体的なコード例を交えて解説します。

どちらでも
Kotlin Multiplatform/Compose Multiplatform 初級者

Kotlin Multiplatform ライブラリを Maven Central で公開しよう

hkusu_ Hiroyuki Kusu

ライブラリの公開って、敷居が高く難しいと思っていませんか? 私も過去、そう思っていましたが Multiplatform library template ( https://github.com/Kotlin/multiplatform-library-template ) を利用すれば、まったく難しくありません。

このセッションでは Multiplatform library template を利用したライブラリの公開について、私の体験を通して得たつまずきポイントや Tips など付け加えて紹介したいと思います。

このセッションを聞けば、あなたもすぐにライブラリを公開できるようになります。 多くの素敵なライブラリが皆で共有しあえる素敵な世界を願います。

1
どちらでも
Kotlin言語・プログラミング 中級者

kotlinx-coroutines-test の実装から見る Coroutines におけるユニットテスト

ntsk__ ntsk

kotlinx-coroutines-test は、 Kotlin Coroutines による非同期処理を確実かつ高速にテストするためのライブラリです。 本ライブラリでは仮想時間制御によって、 物理時間を待たずに進められることで高速なテストを効率よく実装することができます。

では、 これらの機能は具体的にどのように実現されているのでしょうか。
本セッションでは、 「runTest を利用したテストは書いているが内部で何が行われているか分かっていない」という方を対象に、 提供されている各クラスや関数の振る舞いを内部実装から追い、 Coroutines におけるユニットテストへの理解を深めます。

1
どちらでも
Webバックエンド/サーバサイド 初級者

コンパイル OK なのに意図した通りに動かない!? 新卒バックエンド開発者が学んだKotlinエラーハンドリング落とし穴

_____yyuta YutaYamamoto

新卒 1 年目でバックエンド開発に配属された登壇者が、Kotlin の Result/runCatching、そして Arrow Core の zipOrAccumulate で Railway Oriented Programming を実践する過程で遭遇した「コンパイルは通るのに意図通りに動かない」落とし穴を、ミニマムな再現コードでご紹介します。

  • runCatching × init ― 例外が握り潰されてバリデーションエラーが起きない!?
  • トランザクション × Result ― rollbackされずにデータがコミットされとる!
  • zipOrAccumulate ― “全部チェックして全部返す”はずが 1 件しか検証されてないやん!

Kotlin中級者の人には当たり前となっている内容かもしれませんが、ぜひエラーハンドリング時には注意して欲しい内容となっています。

1
どちらでも
ツール/エコシステム 中級者

Gradle書きたくない

モダンなAndroid開発ではビルドロジック共通化のためにGradleのConvention Pluginを使うことが一般的です。
しかし、ただ共通化したいだけなのにPluginの書き方を学ぶのは大変です。
本セッションでは、detektやkoinなどの任意のgradle pluginをConvention Plugin化する方法を実例と共に解説し、誰でもビルドロジックの保守・拡張ができる力を身につけられるよう導きます。

トーク内容(予定)
・ Pluginの実装方法
・ DSLを作成して認知負荷を減らす
・ Declarative Gradleという選択肢