agy(Antigravity CLI) 是 Google 的 AI 「代理優先(agent-first)」開發平台的一部分,具備以下特點:
- 技術架構:以 Go 語言開發,比舊有的 Gemini CLI 反應更靈敏且啟動速度更快。
- 多代理協作:支援非同步流程與多代理協作,允許在背景執行複雜的大型重構或研究任務,而不會鎖定終端機階段。
- 功能整合:保留了 Gemini CLI 的核心功能,包括 Agent Skills、Hooks、Subagents 以及重新命名為「外掛(plugins)」的 Extensions。
- 安裝指令:使用者不再使用
gemini指令,而是透過新的二進制檔案執行agy指令。
AI agent 其實蠻有用的。先不要講到我目前工作上用它大量完成 Dev-Ops 有關 Ops 的工作。因為我不是 RD,是屬於 MIS/Ops,所以其實工作上早就非依賴 AI。三年前,我對微軟一個工具,Power BI Desktop 很有興趣,我那段期間還真的想從網路跳到這方面的工作。但是,現在其實你只需要把所有資料蒐集在一起,讓 AI agent 當你的祕書,請它針對你的資料分析,然後讓問它一堆問題,請它做個報告,它可以做得比一般的祕書更快,更精準,根本不用去學 Power BI。
好,我已經介紹過 agy 以及我為什麼最後還是決定用它來作為我的助理的理由。再來就是用這篇文章來稍微提示一下,如何減少 token 的花費。
這次我試著請 agy 幫我翻譯半年前我買的一本書:Just Use Postgres!
這是一本討論 PostgreSQL 新的功能的書,也就是除了第二章稍微介紹 SQL ISO 標準向的 PostgreSQL 功能,這本書主要是介紹其它讓 PostgreSQL 可以睥睨其它資料庫產品的原因。
以翻譯一本書為例,要如何減少 token 的消耗?直接把整本書丟給 AI agent 去翻,那叫做錢太多,把新台幣丟到水裡。來看看我如何請 agy 協助我了解該如何降低 token 的消耗量。
問: Google AI Plus 的使用者,能使用 agy 嗎?
答:
可以,Google AI Plus 的訂閱使用者完全可以使用 agy(Antigravity CLI)!
以下是相關的使用說明與重點:
──────
### 1. 如何開始使用
• 帳號授權:第一次在終端機執行 agy 時,依照畫面指示透過瀏覽器登入您已訂閱 Google AI Plus 的 Google
帳號,即可完成認證與權限綁定。
──────
### 2. 方案權益與限制
• 基礎使用額度:Google AI Plus 方案包含 Antigravity 的 AI 模型呼叫與 Agent 工作額度。
• 與 Pro / Ultra 方案的差異:
• Google AI Plus:提供固定的方案內含使用額度,額度耗盡時需等待週期重設,通常無法額外加購 AI Credits。
• Google AI Pro / Ultra:擁有更高的使用額度與頻率上限,且在額度用完時支援加購額外的 AI Credits。
──────
### 3. 常見注意事項
• 帳號確認:認證時請務必確認瀏覽器登入的是擁有 Google AI Plus 訂閱的帳號。
• 權限同步:若登入後發現被誤判為 Free
免費版,通常是權益快取同步延遲,可嘗試登出後重新認證(或檢查登入帳號是否正確)。
問:如果我訂閱 Google AI Plus,那麼我大概只有多少 Token 可用?
答:
在 Google AI Plus 方案下,Token 與用量主要是透過**「單次上下文長度」與「動態運算週期配額」**來管理的,並非像 API
一樣直接發放一筆固定消耗的 Token 點數。
以下是具體的用量與規格拆解:
──────
### 1. 單次上下文視窗(Context Window)
• 約 128,000 Tokens(128k)
• 免費版一般為 32k Tokens。
• 128k Tokens 約等於 30~40 萬字 或 數千行中型程式碼專案 的大小,足夠讓 agy
同時理解多個關聯檔案、錯誤日誌與終端機輸出。
──────
### 2. 總用量與刷新機制(動態運算配額)
Google 訂閱制採用滾動刷新機制(Rolling Quota):
• 短期刷新週期(每 3~5 小時):
• Google AI Plus 提供的可用運算量約為免費版的 2 倍以上。
• 只要不短時間內連續進行超大型專案分析,每過數小時額度就會自動回復。
• 每週總用量上限(Weekly Cap):
• 每週有一個累積的運算總量上限,確保整體資源平衡。
──────
### 3. 在 agy(AI Agent)中的實際使用感
因為 agy 在執行 Agent 任務時會自主閱讀專案結構、查看檔案與執行終端機指令,Token 的消耗會比一般純對話快:
• 非常夠用:日常寫 Code、單元測試、Bug 修復、小型模組開發、程式重構、一般問題諮詢。
• 容易觸發上限的情況:連續派發多個子代理(Subagent)同時爬取數萬行的大型 Codebase,或短時間內讓 Agent
自動迭代嘗試數十次指令。
• 額度用罄時:Plus 方案需等待短期冷卻(3~5 小時)或下個週期刷新(Pro/Ultra 方案則支援加購 AI Credits)。
──────
### 4. 如何查看即時用量?
您可以隨時登入 https://gemini.google.com/usage 查詢當前帳號的用量比例與刷新狀態。
問: 如果我在 WSL 上執行 agy,然後我希望你去讀的檔案放在 E:\Download 之下,請問你讀得到嗎?這會花費很多Token嗎?
答:
### 1. 讀得到嗎?
完全讀得到!
在 WSL(Windows Subsystem for Linux)環境下,Windows 的各個磁碟機都會自動掛載在 /mnt/ 目錄下:
• Windows 路徑 E:\Download
• 對應的 WSL 路徑為:/mnt/e/Download(若資料夾名稱為 Downloads,則為 /mnt/e/Downloads)
如何操作:
1. 直接指定路徑:在對話中直接告訴我檔案路徑,例如:請幫我看看 /mnt/e/Download/app.py 的內容。
2. 切換目錄執行:或者您也可以在 WSL 終端機中先切換到該目錄再啟動 agy:
cd /mnt/e/Download
agy
──────
### 2. 這會花費很多 Token 嗎?
Token 的消耗量完全取決於「檔案的內容大小與類型」,與存放在哪個磁碟機無關。
具體消耗情況如下:
檔案類型 / 大小 | 範例 | 預估 Token 消耗 | 影響評估
---------------------|-------------------------------|-------------------------------|-----------------------------
中小型程式碼 / 文本 | 100~500 行的 .py、.json、.md | 約 500 ~ 3,000 Tokens | 極小,幾乎無負擔
圖片 / 截圖 | .png、.jpg 介面截圖 | 每張約 500 ~ 1,500 Tokens | 偏小,適合搭配多模態分析
超大文字檔 / 資料集 | 數萬行的 .log、大型 .csv | 10,000 ~ 50,000+ Tokens | 較大,會顯著消耗單次對話額度
壓縮檔 / 執行檔 | .zip、.exe、.tar | 一般只讀取結構/清單,不讀全文 | 僅消耗目錄清單的少量 Tokens
──────
### 3. 省 Token 的實用建議
1. 指定具體檔名或範圍:例如「請看 /mnt/e/Download/test.py 的第 20~50 行」或「請幫我搜尋某關鍵字」。
2. 善用搜尋與分段:agy 內建智慧工具(如 grep
搜尋與部分行數讀取),會優先抓取相關片段,不會盲目把整個目錄全部讀進對話中。
問:所以,如果我想要你幫我翻譯一本英文書,要節省Token的話,我最好告訴你,我想要你翻譯第100~199頁,把翻譯的文章轉成 HTML 檔。像這樣嗎?
答:
您的**「分批、分範圍」核心邏輯完全正確!但 100 頁在實際操作上建議把範圍縮得更小一點**。
以下為您分析原因,並提供最省 Token、最不容易出錯的翻譯策略:
──────
### 1. 為什麼 100 頁一次翻會太大?
雖然 128k 上下文可以「讀得進」100 頁的英文書(約 4~6 萬 Tokens),但大語言模型有**「單次輸出長度上限(Output Token
Limit)」**:
• 模型一次通常最多回傳 4,000 ~ 8,000 Tokens(約 3,000~6,000 個中文字)。
• 如果一次要它翻譯 100 頁(約數萬中文字),翻譯到一半就會被強制截斷,反而浪費額度。
👉 最佳切分範圍:以**「1 個章節」或「10 ~ 20 頁(約 3,000~5,000 英文單字)」**為一次處理的單位最剛好。
──────
### 2. 翻譯書籍時,最省 Token 的 4 個實用技巧
#### ① 指定輸出為檔案,不要在對話框全量輸出
直接請 agy 將翻譯結果寫入指定的 HTML 檔,例如:
│ 「請閱讀 /mnt/e/Download/book.txt 的 Chapter 1,翻譯成繁體中文並直接寫入
│ /mnt/e/Download/chapter_01.html,排版要保持整潔易讀。」
#### ② 注意「對話歷史膨脹」(最容易偷吃 Token 的地方)
在同一個對話視窗中,每次你發送新訊息,模型都會把前面的歷史對話全部重讀一遍。
• 如果你在同一個對話裡連續翻完 10 個章節,到了第 10 章時,每次提問都會額外消耗前面 9 章的巨大歷史 Token。
• 解法:每翻譯完 1~2 個章節並存檔後,可以使用 /clear 指令清空上下文,或者重新開一個乾淨的對話視窗。
#### ③ 建立「專有名詞 / 術語對照表」
在開始前,先讓 agy
掃描目錄或前言,產出一份名詞對照表(例如人名、專有名詞譯名),之後每次翻譯附上這份小清單。這能確保前後風格一致,避
免後續花大量 Token 重新校對修改。
#### ④ 發揮 agy 的 Agent 優勢:寫腳本輔助
若檔案是 PDF 或 EPUB,您可以直接讓 agy:
1. 寫一段 Python 腳本自動將書籍按章節拆成多個文字小檔案。
2. 逐一處理並套用漂亮的 HTML/CSS 模板組合成一本電子書。
問:1. 寫一段 Python 腳本自動將書籍按章節拆成多個文字小檔案。
2. 逐一處理並套用漂亮的 HTML/CSS 模板組合成一本電子書。
3. 放在同一個目錄,檔名就取為"Just_Use_Postgres!.html"
答:
已為您完成所有處理!以下是執行成果與產出檔案說明:
──────
### 📂 產出檔案清單
#### 1. 互動式電子書(HTML)
• 📄 路徑:Just_Use_Postgres!.html (大小約 1.1 MB)
• 💡 開啟方式:在 Windows 檔案總管中進入 E:\下載\電子書\,直接雙擊 Just_Use_Postgres!.html 即可在瀏覽器中離線閱讀。
#### 2. 分章純文字小檔案
• 📁 目錄:
• 拆分章節清單(共 15 個檔案):
1. 00_Front_Matter_Foreword_Preface_Intro.txt(前言、序言、導讀,第 1–24 頁)
2. 01_Chapter_1_Meeting_Postgres.txt(第 1 章:認識 Postgres,第 25–39 頁)
3. 02_Chapter_2_Standard_RDBMS_capabilities.txt(第 2 章:標準 RDBMS 功能,第 40–86 頁)
4. 03_Chapter_3_Modern_SQL.txt(第 3 章:現代 SQL 語法,第 87–110 頁)
5. 04_Chapter_4_Indexes.txt(第 4 章:索引深入解析,第 111–150 頁)
6. 05_Chapter_5_Postgres_and_JSON.txt(第 5 章:Postgres 與 JSON,第 151–185 頁)
7. 06_Chapter_6_Postgres_for_full_text_search.txt(第 6 章:全文檢索,第 186–222 頁)
8. 07_Chapter_7_Postgres_extensions.txt(第 7 章:擴充套件體系,第 223–234 頁)
9. 08_Chapter_8_Postgres_for_generative_AI.txt(第 8 章:生成式 AI 與向量檢索 pgvector,第 235–274 頁)
10. 09_Chapter_9_Postgres_for_time_series.txt(第 9 章:時序資料 TimescaleDB,第 275–313 頁)
11. 10_Chapter_10_Postgres_for_geospatial_data.txt(第 10 章:地理空間資料 PostGIS,第 314–353 頁)
12. 11_Chapter_11_Postgres_as_a_message_queue.txt(第 11 章:訊息佇列 pgmq,第 354–379 頁)
13. 12_Appendix_A_Five_optimization_tips.txt(附錄 A:五大優化技巧,第 380–390 頁)
14. 13_Appendix_B_When_not_to_use_Postgres.txt(附錄 B:何時不該用 Postgres,第 391–392 頁)
15. 14_Afterword_Index.txt(後記與索引,第 393–402 頁)
──────
### 🎨 HTML 電子書設計特點
• 側邊欄章節目錄:依據書籍的三大部分(Part 1~3)分類,標註起始頁碼,支援即時關鍵字搜尋與快速定位。
• 閱讀主題切換:提供「🌙 暗黑模式」、「☀️ 明亮模式」與「📖 羊皮紙模式(Sepia)」。
• 排版自訂:可自由調整字體大小(A- / A+)與切換字體風格(現代黑體 / 襯線字體)。
• 程式碼與標籤美化:SQL 語法與終端機指令區塊特別強調顯示。
• 鍵盤快捷鍵:支援鍵盤方向鍵 ←(上一章)與 →(下一章)快速換章閱讀。
• 頂部閱讀進度條:即時顯示目前章節的捲動進度。
問:我打算翻譯這本書,請先幫我把"03_Chapter_3_Modern_SQL.txt"建立一個中英文的名詞對照表,未來繼續翻譯時,而夠保持一致性。
答:
為您整理出 第 3 章《Modern SQL》(現代 SQL) 的完整中英文名詞對照表。
這份對照表遵循繁體中文(台灣習慣之資料庫與資訊科技術語標準),共分為 5
大模組,方便您在後續翻譯時保持用語的一致性與精確度:
──────
### 1. 核心概念與資料庫標準 (Core Concepts & Standards)
英文術語 (English) | 繁體中文譯名 (Traditional Chinese) | 說明 / 備註
--------------------------------------|--------------------------------------|-------------------------------------
Modern SQL | 現代 SQL | 指 SQL-92 之後引入的新功能與擴展
Relational model | 關聯模型 / 關聯式模型 | 經典關聯式資料庫理論基礎
Relational Database (RDBMS) | 關聯式資料庫管理系統 | 如 PostgreSQL、MySQL、Oracle
SQL standard (SQL-92, ISO/IEC 9075) | SQL 標準規範 | 包含 SQL-92, SQL:1999 等版本
Structured data | 結構化資料 | 遵循嚴格綱要的資料
Semi-structured data | 半結構化資料 | 如 JSON、XML、YAML
Unstructured data | 非結構化資料 | 如純文本、音訊、圖片
Normalization | 正規化 | 資料庫設計降低冗餘的過程
Object-relational mapping (ORM) | 物件關聯對映 (ORM) | 應用層與資料庫間的對映框架
Database schema | 資料庫綱要 / 資料庫架構 | 資料表與關聯結構定義
Property graph | 屬性圖 | 現代 SQL 支援的圖形結構
──────
### 2. 通用資料表表達式 (Common Table Expressions - CTE)
英文術語 (English) | 繁體中文譯名 (Traditional Chinese) | 說明 / 備註
------------------------------------|------------------------------------|-----------------------------------------
Common Table Expression (CTE) | 通用資料表表達式 (CTE) | 用 WITH 子句定義的臨時結果集
WITH clause | WITH 子句 | 定義 CTE 的關鍵字語法
Primary statement | 主查詢語句 / 主要陳述式 | 使用 CTE 結果的主要 SQL 陳述式
Auxiliary statement | 輔助查詢語句 / 輔助陳述式 | 在 CTE 內部執行的 SQL 子陳述式
Data-modifying CTE | 資料修改型 CTE | 包含 INSERT/UPDATE/DELETE 的 CTE
RETURNING clause | RETURNING 子句 | 修改資料後直接回傳受影響列的語法
Nested query / Subquery | 巢狀查詢 / 子查詢 | 傳統寫在括號內的子查詢
Materialized CTE | 具體化(物化)CTE | 將 CTE 結果計算一次並暫存於記憶體/磁碟
Non-materialized CTE | 非具體化 CTE | 每次引用時重新評估計算
CTE folding / Fold into | CTE 折疊 / 併入 | 最佳化器將 CTE 展開併入主查詢以提升效能
Execution plan | 執行計畫 | 透過 EXPLAIN 產生的查詢執行路徑
──────
### 3. 遞迴查詢與階層資料 (Recursive Queries & Hierarchical Data)
英文術語 (English) | 繁體中文譯名 (Traditional Chinese) | 說明 / 備註
--------------------------------------|--------------------------------------|-------------------------------------
Recursive query | 遞迴查詢 | 處理樹狀、圖狀或連續鏈結資料的查詢
WITH RECURSIVE | WITH RECURSIVE 子句 | 宣告遞迴 CTE 的語法
Non-recursive term | 非遞迴項 / 基礎項 (Anchor/Base) | 遞迴查詢中只執行一次的起始查詢
Recursive term | 遞迴項 | 在 UNION 後重複自我引用的查詢部分
Working table | 工作資料表 (Working Table) | 儲存當前遞迴步驟輸入的暫存表
Intermediate table | 中間資料表 (Intermediate Table) | 儲存當前遞迴步驟運算結果的暫存表
Hierarchical data | 階層式資料 | 具有父子層級關係的資料
Tree-like structure | 樹狀結構 | 組織圖、分類目錄等層次結構
Hierarchy level | 階層層級 (Level) | 節點在階層中的深度(如 1, 2, 3...)
Deduplication | 去除重複項 / 去重 | UNION 與 UNION ALL 的主要差別
──────
### 4. 視窗函式與分析計算 (Window Functions)
英文術語 (English) | 繁體中文譯名 (Traditional Chinese) | 說明 / 備註
-------------------------------|-------------------------------------|---------------------------------------------
Window function | 視窗函式 / 窗口函數 | 在關聯資料子集上進行運算的分析函式
OVER clause | OVER 子句 | 定義視窗分割與排序規則的關鍵字
Window / Subset | 視窗 / 資料子集 | 視窗函式作用的目標列集合
Window frame / Frame | 視窗框架 (Frame) | 視窗內部進一步劃分的動態滑動範圍
PARTITION BY clause | PARTITION BY 子句(分區子句) | 將資料依欄位切分成不同視窗
Running total | 滾動累計 / 累計加總 (Running Total) | 依序累加前方每一筆資料的數值
Cumulative sum | 累積總和 (Cumulative Sum) | 累積數值計算
Moving average | 移動平均 (Moving Average) | 時間序列常用滑動平均計算
Lag and lead analysis | 相鄰列前後分析 (LAG / LEAD) | 取得上一筆 (Lag) 或下一筆 (Lead) 資料的分析
Self-join | 自我連接 (Self-Join) | 資料表與自身進行 JOIN
Aggregate function | 聚合函式 / 彙總函數 | 如 SUM(), AVG(), COUNT(), MIN(), MAX()
Rank / Ranking function | 排名 / 排序函式 | 如 RANK(), DENSE_RANK(), ROW_NUMBER()
──────
### 5. 範例商業場景與程式庫名詞 (Dataset & Case Study)
英文術語 (English) | 繁體中文譯名 (Traditional Chinese) | 說明 / 備註
--------------------------------------|--------------------------------------|-------------------------------------
Music streaming service | 音樂串流服務 | 本章的範例情境專案
Play session | 播放工作階段 / 播放紀錄 | 使用者聽歌的一次紀錄
Song sequence | 歌曲播放序列 | 連續無中斷聽歌形成的鏈狀序列
Play duration | 播放時長 | 歌曲實際被播放的秒數
Hash Join | 雜湊連接 | 執行計畫中的連接演算法
GroupAggregate | 群組彙總掃描 | 執行計畫中的聚合步驟
Seq Scan (Sequential Scan) | 循序掃描 / 全表掃描 | 逐筆讀取資料表的運算步驟
──────
│ 💡 小建議:我已將這份對照表儲存至工作區,後續翻譯第 3
│ 章時,我會完全依照本表的名詞標準進行翻譯,以確保整章文字精確且前後呼應。
問:好,並且把這個名詞對照表,先儲成文字檔,以備未來使用。
答:
已為您將第 3 章的中英文專有名詞對照表儲存至章節目錄中:
• 📄 Markdown 格式:03_Glossary_Modern_SQL.md
• 📄 純文字格式:03_Glossary_Modern_SQL.txt
──────
### 下一步建議
當您準備好要開始翻譯時,您可以直接指定:
1. 翻譯全章(或指定特定小節,例如:3.1 什麼是現代 SQL 或 3.3 通用資料表表達式)。
2. 輸出格式:直接輸出為排版好的繁體中文 HTML 檔(例如 03_Chapter_3_Modern_SQL_zh.html)或 Markdown 檔。
問:翻譯全章並且直接輸出為排版好的繁體中文 HTML 檔,取名為03_Chapter_3_Modern_SQL_zh.html。
答:
已為您完成 第 3 章《現代 SQL》(Modern SQL) 的完整全章繁體中文翻譯,並已排版輸出為高質感的獨立 HTML 電子書!
──────
### 📂 產出檔案位置
• 📄 主要檔案:03_Chapter_3_Modern_SQL_zh.html
• 📄 章節目錄備份:03_Chapter_3_Modern_SQL_zh.html
│ 💡 閱讀方式:您可以在 Windows 檔案總管進入 E:\下載\電子書\,直接雙擊 03_Chapter_3_Modern_SQL_zh.html
│ 即可在瀏覽器中離線閱讀。
──────
### 📖 本章翻譯涵蓋重點章節
1. 3.0 導言與本章核心目標:解釋 SQL 的演進與現代化需求。
2. 3.1 什麼是現代 SQL?:
• 介紹 Markus Winand 的 Modern SQL 概念(關聯式僅佔現代 SQL 20%)。
• 支援半結構化 JSON、陣列、複合型別與圖形屬性。
• 分析為什麼開發者容易受限於 SQL-92 與 ORM 框架。
3. 3.2 載入音樂服務資料集:
• 綱要圖解(users、songs、plays)與欄位詳解。
• 附上 Docker 與 psql 實作匯入指令。
4. 3.3 通用資料表表達式(CTE):
• WITH 子句基礎語法與原理。
• 3.3.1 使用 CTE 查詢資料(清單 3.1、3.2)與 Postgres 最佳化折疊(CTE Folding)機制。
• 3.3.2 在查詢中使用多個 CTE(清單 3.3)與 MATERIALIZED / NOT MATERIALIZED 控制。
• 3.3.3 使用 CTE 修改資料(清單 3.4、3.5、3.6)與並行快照隔離特性。
5. 3.4 遞迴查詢(Recursive Queries):
• WITH RECURSIVE 語法結構與 8 步驟執行虛擬碼解析。
• 3.4.1 查詢階層式連續播放序列(清單 3.8)與 level 階層計算。
• 3.4.2 在遞迴中使用自訂參數(清單 3.9),動態維護路徑陣列與累計播放時長。
6. 3.5 視窗函式(Window Functions):
• 核心語法 OVER (PARTITION BY ... ORDER BY ...) 與傳統 GROUP BY 差異對比。
• 3.5.1 滾動累計與視窗框架(Frames)(清單 3.13)。
• 3.5.2 歌曲熱門度排名計算(清單 3.14,使用 RANK())。
7. 3.6 本章總結(Summary):5 大核心精華濃縮。
──────
### ✨ HTML 頁面功能
• 左側導航欄:各小節快速點擊跳轉與錨點定位。
• 閱讀模式切換:支援「🌙 暗黑」、「☀️ 明亮」與「📖 羊皮紙(Sepia)」三種主題。
• 字體自訂:支援字級放大縮小(A- / A+)與「現代黑體 / 經典襯線」切換。
• 程式碼區塊:所有 SQL 範例均提供一鍵「複製代碼」按鈕。
• 頂部進度條:即時反映章節捲動進度。
喔!真的不錯,參考一下成果:
我後來又請它再多翻譯一個章節,今天的 token 也還是夠。按照我另一篇文章,會說明,這就是 Prompt 工程,減少無謂的 token 與金錢浪費。
沒有留言:
張貼留言