引言
今天想和大家分享一個有趣的小技巧:如何利用 AI 生成 JCConf 議程建議指南。明天,我將參加由台灣 Java User Group 舉辦的 JCConf 研討會。即使現在寫程式的時間越來越少,但這個年度盛會我每年都一定會參加,絕對不會錯過。
從傳統到創新
過去,我總是「盲鳥報名」,沒有事先研究議程內容。通常都是研討會快要開始了才打開議程表,匆匆忙忙決定要聽哪些主題。今年,我突然靈機一動,不如讓 AI 幫我規劃一下?如果能根據議程主題和和參與者的角色,將所有議程分類,並按照時間順序提供適合我的參與路線,或許可以更有效率地安排行程。
取得議程資料的挑戰
首先,我需要取得完整的議程資料,我嘗試將 JCConf 的 HTML 頁面直接提供給 Google 的 Gemini 1.5 Pro,並要求它產生一份條列式的議程表,並要求輸出的欄位包含:
- 主題
- 講者
- 講者介紹
- 議程簡介
- 是否不錄影
- 是否為英文議程
意外的高成本
原本我預估這個任務的成本不高,卻忽略了輸入資料量龐大的問題。輸入資料的數量竟然高達約 1.47M tokens,而輸出則大約只有 7.5K tokens。結果,為了產生這份條列式的 Markdown 議程表,竟然花了我 5.23 美元!
我不禁思考,或許自己撰寫程式來解析議程資料會更有效率。如果借助像是 Cursor IDE 這樣的 AI 工具來輔助我編寫解析腳本,成本應該可以大幅降低。
學到的教訓
這次的經驗提醒我,在使用需付費的 LLM 前,務必先確認輸入資料的 token 數量。否則,費用可能大幅增加,尤其當使用價格較高昂的 LLM 時。
用 OpenAI o1-preview 進行智慧規劃
取得整理好的議程表後,我將它輸入 OpenAI o1-preview,並透過「思維鏈」(Chain of Thought)的方式,讓它協助我進行思考和規劃。傳統的 LLM 通常需要你一步步指導它如何思考和分析問題,但對於 OpenAI o1-preview,只需告訴它目標,剩下的推理工作由它自動完成。
取得整理好的議程表後,我將它輸入 OpenAI o1-preview,讓它運用 Chain of Thought(CoT)的方式,協助我思考和規劃。不同於傳統的 LLM 需要一步步引導分析,OpenAI o1-preview 只需給定目標,就能自動完成後續的推理工作。
我的 Prompt 也非常簡單:
根據以下議程內容,請幫我依主題進行分類,然後設計一份議程選擇指南,包括不同角色按時間順序推薦的議程路線。請提供詳細的安排和建議,確保每個角色都能依照他們的需求找到適合的議程。
我只需說明需求,後續的推理和建議內容就由它全權處理。
滿意的成果
OpenAI o1-preview 的輸出讓我非常滿意。它根據不同的角色,例如 Java 開發者、Kotlin 開發者、軟體架構師、DevOps 工程師、安全工程師、初級開發者以及函數式編程愛好者,分別給出了推薦的學習路線。每條路線都規劃得相當具體且有條理,讓我能快速找到適合自己的議程。
就我個人而言,「軟體架構師」和「DevOps 工程師」這兩條路線最吸引我,也正好涵蓋了我感興趣的領域。透過 AI 的協助,我省下了不少逐一瀏覽議程的時間。
總結
這就是我今天想分享的,關於 AI 如何在日常生活中幫助我的一個小技巧。如果您明天也要參加 JCConf 的話,歡迎參考 OpenAI o1-preview 產製的這份指南。
那麼,我們明天 JCConf 見囉!掰掰~
以下內容為 OpenAI o1-preview 協助整理提供
一、議程分類
1. Java 語言更新與特性
-
Java 21 and Beyond: State of Loom and Amber
-
Java 22 & 23 新功能介紹
-
Generic, Fastutil, And Project Valhalla
-
Introduction to Java Performance Tuning
2. Kotlin 語言更新與應用
-
Kotlin 2.0 降肉 - Kotlin 的過去、現在以及未來
-
Ktor 3.0 入門:簡述 Ktor 的架構及 3.0 版本的主要特點
-
Kotlin/Wasm:為 Kotlin 多平台帶來更多可能性
-
Kotlin 停看聽
3. 應用開發與框架
-
GraphQL in Java: Best Practices for Modern API Development
-
Building Event-Driven Architecture with Spring Event and Spring Modulith
-
掌握 Feature Toggle 與 OpenFeature 規範:提升開發效率與降低風險
-
使用工作流引擎簡化多步驟流程開發
4. 安全與最佳實踐
-
如何不要那麼狼狽的串接各種甲方的 SSO
-
快速應對 Java 應用程式中的常見漏洞
-
OpenRewrite 與程式重構:提升程式碼品質的利器
-
使用 SonarQube、Docker、SonarAnalyzer 之 Combo 連擊
-
如何在 Kubernetes 環境實現 Keycloak Cluster
5. 函數式編程
-
從紅燈到綠燈
-
Functional Programming IO Demystified: Understanding Partial Application, Monads, and Effects
-
提升錯誤處理的優雅與安全:Arrow kt Typed Error 實踐
-
Direct Style in Scala: Conquering Concurrency with Elegance and Power
6. 系統設計與架構
-
Power Up system design depth along with Amazon Q Developer
-
On in-database analytics
-
使用工作流引擎簡化多步驟流程開發
7. DevOps 與性能優化
-
Quick off the blocks! - rapid start options for your Java application
-
Monitor MySQL with OpenTelemetry
-
Jib 打包 Java 應用的那些事:心得分享與擴充攻略
8. 人工智慧與大語言模型
-
Java 也能玩轉 LLM - 打造多語言模型應用
9. 職業發展
-
Developers — Build your Career Now
二、議程選擇指南
1. Java 開發者
目標:深入了解 Java 新特性、性能優化和最佳實踐。
推薦路線:
-
09:40 - 10:25
-
Java 21 and Beyond: State of Loom and Amber
-
10:40 - 11:25
-
11:40 - 12:25
-
13:45 - 14:00
-
OpenRewrite 與程式重構:提升程式碼品質的利器
-
14:10 - 14:55
-
Building Event-Driven Architecture with Spring Event and Spring Modulith
-
16:20 - 17:05
-
Introduction to Java Performance Tuning
-
17:15 - 18:00
-
Generic, Fastutil, And Project Valhalla
建議:這些議程涵蓋了 Java 新版本特性、測試驅動開發、代碼重構、架構設計和性能調優,幫助您全面提升 Java 開發技能。
2. Kotlin 開發者
目標:掌握 Kotlin 最新發展、多平台支持和實用框架。
推薦路線:
-
10:40 - 11:25
-
Kotlin 2.0 降肉 - Kotlin 的過去、現在以及未來
-
11:40 - 12:25
-
Functional Programming IO Demystified
-
14:10 - 14:55
-
Ktor 3.0 入門:簡述 Ktor 的架構及 3.0 版本的主要特點
-
15:05 - 15:50
-
Kotlin/Wasm:為 Kotlin 多平台帶來更多可能性
-
16:20 - 17:05
-
提升錯誤處理的優雅與安全:Arrow kt Typed Error 實踐
-
17:15 - 18:00
建議:這些議程深入探討 Kotlin 的新版本特性、函數式編程、框架應用和多平台支持,是 Kotlin 開發者不可錯過的內容。
3. 軟體架構師
目標:關注系統設計、架構優化和新技術應用。
推薦路線:
-
09:40 - 10:25
-
Java 21 and Beyond: State of Loom and Amber
-
11:40 - 12:25
-
Power Up system design depth along with Amazon Q Developer
-
13:25 - 13:40
-
掌握 Feature Toggle 與 OpenFeature 規範:提升開發效率與降低風險
-
15:05 - 15:50
-
On in-database analytics
-
使用工作流引擎簡化多步驟流程開發
-
17:15 - 18:00
-
Developers — Build your Career Now
建議:這些議程涵蓋了最新的技術趨勢和系統設計理念,助您在架構設計上獲得新思路。
4. DevOps 工程師
目標:優化持續集成、部署、監控和性能。
推薦路線:
-
10:40 - 11:25
-
13:45 - 14:00
-
使用 SonarQube、Docker、SonarAnalyzer 之 Combo 連擊
-
14:10 - 14:55
-
Quick off the blocks! - rapid start options for your Java application
-
Monitor MySQL with OpenTelemetry
-
15:05 - 15:50
-
Jib 打包 Java 應用的那些事:心得分享與擴充攻略
-
16:20 - 17:05
-
Introduction to Java Performance Tuning
建議:這些議程涵蓋了持續集成、監控工具、代碼質量和性能優化,幫助您提升 DevOps 流程的效率。
5. 安全工程師
目標:了解最新安全漏洞、解決方案和最佳實踐。
推薦路線:
-
10:40 - 11:25
-
13:25 - 13:40
-
掌握 Feature Toggle 與 OpenFeature 規範:提升開發效率與降低風險
-
13:45 - 14:00
-
OpenRewrite 與程式重構:提升程式碼品質的利器
-
如何在 Kubernetes 環境實現 Keycloak Cluster
-
快速應對 Java 應用程式中的常見漏洞
-
17:15 - 18:00
-
Java 也能玩轉 LLM - 打造多語言模型應用
建議:關注安全相關議程,提升系統的安全性和代碼質量。
6. 初級開發者
目標:提升編程技能,了解行業趨勢。
推薦路線:
-
09:40 - 10:25
-
Java 21 and Beyond: State of Loom and Amber
-
10:40 - 11:25
-
Kotlin 2.0 降肉 - Kotlin 的過去、現在以及未來
-
11:40 - 12:25
-
13:25 - 13:40
-
GraphQL in Java: Best Practices for Modern API Development
-
14:10 - 14:55
-
Ktor 3.0 入門:簡述 Ktor 的架構及 3.0 版本的主要特點
-
17:15 - 18:00
建議:這些議程適合初學者,幫助您快速了解主流技術和最佳實踐。
7. 函數式編程愛好者
目標:深入了解函數式編程在實際開發中的應用。
推薦路線:
-
11:40 - 12:25
-
Functional Programming IO Demystified
-
從紅燈到綠燈
-
16:20 - 17:05
-
提升錯誤處理的優雅與安全:Arrow kt Typed Error 實踐
-
Direct Style in Scala
-
17:15 - 18:00
-
Generic, Fastutil, And Project Valhalla
建議:深入探討函數式編程的理論與實踐,豐富您的技術棧。
三、詳細安排和建議
-
提前規劃:由於部分議程時間有衝突,請根據興趣提前選擇,並安排好您的時間。
-
關注英文議程:部分議程為英文演講(已標注),如果需要,請提前準備。
-
積極參與:鼓勵您在演講後參與問答環節,與講者和其他參會者交流。
-
資料獲取:部分議程不錄影,建議您親自參加,以免錯過重要內容。
-
跨領域學習:如果時間允許,嘗試參加不同主題的議程,拓寬知識面。
希望這份議程選擇指南能幫助您和您的團隊在 JCConf 2024 中獲得最大收穫!如有任何疑問或需要進一步的建議,請隨時聯繫。
祝您會議愉快!