iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0

目標先講清楚:
剛好今天去參加GDG的活動,因此改分享演講的內容;主題包含:Prompt 驅動的程式開發Google ADK 打造 AgentFirebase 自然語言開發+一鍵部署


Section 1|Gemini command line interface (CLI) 工作坊

Point: Prompt 為先的程式開發:工程師要學會跟 AI 協作
講者: Will Huang 保哥 | AI GDE & 多奇數位創意有限公司 技術總監

講者分享「先寫規格化 Prompt,再讓 AI 幫忙寫程式/做操作」。

  1. Prompt 能描述意圖、流程、驗收;2) 更容易在團隊中版本控管與復用;3) 也能把人機分工講清楚(人負責定義與審核、AI 負責執行)。

兩個Gemini Cli使用案例分享

Case 1|Twitter(X)內容蒐整 → 口吻轉換 → 一鍵發佈
目標:抓 X 的優質推文、過濾條件、統一口吻,最後產生可發佈的文字與連結。
使用以下範例簡單說明講者的Prompt邏輯:(此非講者舉例的Prompt,但邏輯類似)

你是我的自動化貼文助理,請在 Windows 的 cmd.exe 環境下執行以下工作,逐步回報每一步的 Stdout、Stderr 與 Exit Code;遇到錯誤要停止並回報。

# 0) 環境自檢(確保可執行檔可被找到)
- 以 run_shell_command 執行:
  1) where threads-poster.exe
  2) where node
  3) node -v
  4) where curl
說明:如果 where 找不到,代表不在工作目錄或 PATH,請停止並提示我把檔案放到目前資料夾或加入 PATH 後再試。
(Windows 會先找目前目錄,再找 PATH;副檔名預設搜 .exe、.com、.bat、.cmd) 

# 1) 抓取 X 時間線的 3 則推文(JSON 輸出到 Stdout)
- 以 run_shell_command 執行:
  node .\src\twitter-scraper.js https://x.com/i/timeline --max=3 -o -

# 2) 篩選規則(在你腦中完成即可,除非需要再跑命令):
- 只要英文推文(排除 lang=zh)。
- 內容不得包含關鍵字 "Cursor"(大小寫不拘)。
- 內容不得是「留言才分享」類型。
- 從合格清單中任選一則,取出 statusID。

# 3) 抓取該推文完整討論串(JSON)
- 以 run_shell_command 執行:
  node .\src\twitter-scraper.js https://x.com/user/status/{statusID}$ single --max=6 -o -

# 4) 連結處理
- 如果看到 t.co 短連結,請以 run_shell_command 執行:
  curl -sL <tco_url> -o NUL -w "%{url_effective}\n"
- 只要不是導向 x.com,即視為可分享的外部連結(文章/YouTube)。

# 5) 產製貼文(在你腦中寫作,然後落盤)
寫一段 zh-tw 貼文,以「我」的第三人視角重述資訊;不要用「剛剛/最近」開頭;不要 hashtag;結尾加 1 個 Emoji。若有可分享連結,請在文末附上該連結。
- 將文字寫入 post_temp.txt(以 run_shell_command 執行):
  cmd.exe /c echo(【請把你寫好的貼文逐行寫入 post_temp.txt;注意要用真正的換行】

# 6) 發佈(最簡化路徑)
- 若有可分享連結,使用:
  threads-poster.exe post -f post_temp.txt -l "<連結>"
- 否則就純文字:
  threads-poster.exe post -f post_temp.txt

# 7) 清理
- 發佈成功後,以 run_shell_command 刪除暫存檔:
  del /f /q post_temp.txt

這個思路可以直接落在 Gemini CLI 的工具化使用上(內建工具,包含可執行系統Shell指令的 Toolrun_shell_command、又能擴充 MCP 工具),把純文字 Prompt 變成可重複執行的流程。

Case 2|把 Code Review 變成「可複用的審查角色」
講者分享一個 Linus Torvalds 的風格進行 Code Review 的 Prompt,並因為這個Prompt會經常使用,因此使用.toml轉成Gemiini Cli呼叫指令:

  • 角色設定:資深內核/系統工程師,偏好最小變更與可回滾。
  • 原則清單:保持簡單、向後相容、以證據為準。
  • 分析流程:資料結構/資料流、複雜度來源、相容性風險、實用驗證。
  • 輸出格式:用「判斷/洞察/建議」三段式,便於在 PR 裡對齊討論。

(此非講者舉例的Prompt,但邏輯類似)

description = "用資深系統工程師視角做 Code Review"
## 角色
你是一位資深內核/系統工程師,長期維護大規模服務;偏好最小變更、務實與可回滾。

## 原則
1) 保持簡單:先移除特殊情況再寫條件
2) 不破壞既有用戶:向後相容優先
3) 以證據為準:資料與實測 > 理論

## 開始前自問
- 這是實際問題嗎?有數據或案例嗎?
- 有更簡單/更少副作用的做法嗎?
- 會破壞 API/行為嗎?如何避免?

## 分析流程
1) 資料結構與資料流:核心資料、所有權、修改點
2) 複雜度來源:可刪的分支/參數/層次
3) 相容性風險:API、格式、部署與回滾
4) 實用驗證:可觀測性、負載特徵、邊界案例

## 輸出格式(請嚴格遵守)
[判斷] ✅ 值得做 / ❌ 不值得做(一句話理由)
[洞察]
- 資料結構:
- 可消除的複雜度:
- 主要風險:
[建議]
- 最小可行變更(含回滾策略):
- 需要的驗證/度量:

把這種「格式嚴格、可度量」的 Prompt 放進 CLI 指令或工作流,Linux 開發者就能在本機直接呼叫,並把輸出結果跟 PR 一起版控與 Review,讓人機討論有跡可循(也避免每次臨場揮灑)。
另外,重複要做的事就放進記憶(CLI/工具的 preset 或 MCP 伺服器),把操作變成團隊資產,而不是個人習慣。MCP(Model Context Protocol)正是把外部工具/資料標準化接到各家助手的做法。

工程是Vibe coding Tips 分享

  • Spec-Driven Development寧願寫 Prompt,不急著寫程式。先把需求(甚至 20 個任務)寫成 3000 行 Prompt 也沒關係;它會變成後續的測試與驗收基準。
  • 工具中立:不執著於某一個工具(Claude Code、Gemini CLI、Codex…),工具CLI 能力更新很快。
  • 把 Prompt 納入版控:Prompt 應與程式碼一起 commit、在 PR 上一起 review。特別是多人協作,口吻、風格、規則要有單一真相來源
  • 測試選型:端到端測試建議用 Playwright,跨瀏覽器且易於整合 CI。

如果對這些技巧和應用很有興趣,推薦保哥的課程


Section 2|ADK & Cloud Run 工作坊

用 Google ADK(Agent Development Kit)快速搭建 Agent
講者:劉育維 (Simon Liu) | APMIC MLOps Engineer

這場的主軸很直接:有想法,先用 ADK 起一個跑得起來的 Agent。Google 的 ADK 是開源、模型與部署相對中立的套件。

https://ithelp.ithome.com.tw/upload/images/20250919/201785687BcCj2ec6Z.png

我抓到的重點

  1. 快速起步:ADK 提供結構化的專案腳手架、範例與測試,能快速做出第一版原型。
  2. 開源範例分享:講者分享使用ADK開發的開源專案,印象最深刻的是-simon-cli,透過python的click框架搭配ADK,可以完成類似gemini cli的工具
  3. 多 Agent 管理:在專案中以統一入口(例如 web 控制台或註冊機制)掛載多個 Agent,使用adk web指令,能夠透過UI介面跟多個Agent互動,統一監控配額。

https://ithelp.ithome.com.tw/upload/images/20250919/20178568xN5S8rDrcV.png

Section 3|Firebase 工作坊實戰

自然語言打造服務 & 一鍵部署
講者: 李致緯 (Richard Lee) | 技術長 @ TNL Mediagene - iCook 愛料理創辦人兼技術長

第三場聚焦在「用自然語言快速搭骨架一鍵部署把常用 GCP/Firebase 能力串起來」。我的觀察與結論如下:

我抓到的重點

  • 自然語言打造服務:自然語言及支援多語言,搭配直觀的操作介面。
  • 一鍵部署體驗:把建置與上線的門檻拉低,Demo 到雛形很快。
  • 內建常用雲能力:像是 Firestore(文件型資料庫)、Crashlytics(崩潰追蹤)、Cloud Messaging(推播)都能順手接上;前兩者對行動端與 Web 服務很關鍵。([Firebase][7])
  • GraphQL 支援與 Schema 處理:官方生態越來越重視型別與 Schema 的一致性,適合早期就把資料契約定清楚。

雖然展示過程中有遇到一些問題,例如:偶爾需要「多試幾次像丟骰子」才會成功、互動界面小 Bug、標註偶爾錯位,需要手動修正等,但已經可以期待未來幾個月,這個工具能夠為開發者帶來影響。

參考資源(延伸閱讀)


上一篇
Day 4|將langGraph接上Livekit(4/5)
下一篇
Day 6|Langsmith - Agent調整好幫手(5/5)
系列文
從讀書筆記到可落地 AI:LangChain、LangSmith 與 Agent 工具 30 講11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言