20260707 會議記錄
:::info
上週待辦
Kaggle
- 手動在 johnson 個人帳號上傳,並處理授權條款
- 研究自動化上傳
- 申請 Org 帳號
url-resolver
- nonumpa 會對優化項目進行 benchmark
COSCUP
- nonumpa 準備 URL resolver 的分享內容
- yutin 準備多媒體檔案的分享內容
AI 修正
GGM
- 追蹤並修正影音訊息處理時,模型產生幻覺(腦補)或
0:00:00時間戳的問題- 為 AI writer prompt 新增長度與精簡準則
- 驗證 AI pipeline 有時會聲稱有呼叫 proofreader 但沒呼叫的問題
cofacts/ai
- 設定 ai repo 的 linter & formatter
- CI / CD
- storybook
- 自動化測試
Cofacts Knowledge Base
- cofacts.tw/hack 的 hackfoldr 整合進 kb,更新 wiki
- 加上 Claude code 的 prefill URL 引導使用者到 Claude code 對 cofacts/kb 發問
- 整理成好看的樣子,cofacts.tw/hack 可以直接導過去,hackfoldr 封存
[!Note] Nice to have,hack 是給外面的人看的,漂亮比較重要,可以維持原樣 Design doc 可以機讀、可以機器修改,比較重要 –> 已完成 可以終止追蹤此項目
General
- 提醒:7/14 開會改期為 7/16,NPO Hub 開會
- 7/16 開會時要補盆栽的水
上週重點整理(2026-06-30 ~ 2026-07-06)
GitHub 活動
cofacts/ai
- feat: add Vision API WEB_DETECTION tool for reverse image search on IMAGE articles(opened 2026-06-30,merged)
- 外部貢獻者 SametAtas 提交,新增
search_image_webtool,讓 writer agent 能對 IMAGE 文章做圖片反向搜尋 - 使用 Google Vision API + application default credential,無須新增 API key
- Google 藏招,以圖搜圖效果很差 https://github.com/cofacts/ai/pull/99#issuecomment-4884716742
- Prompt 強調是 weak lead,結案 https://github.com/cofacts/ai/pull/99/changes/4ce79b570ae8741d2e3ffea388e04f1fed46187a
- 外部貢獻者 SametAtas 提交,新增
- fix: switch investigator and verifier to GA model gemini-3.1-flash-lite(opened 2026-07-01,closed)
- 實驗發現太容易漏掉 reference section 觸發重跑,close without merge
- Handle empty investigator & verifier; add python unit test
- https://github.com/cofacts/ai/pull/98
- tool 沒東西時塞 prompt
- 無法 reproduce – over the trailing 30 days, ~4.0% of investigator calls and ~6.8% of verifier calls returned empty — frequent enough to matter, but not reproducible via a crafted prompt since it depends on backend load at call time rather than the input itself
- 增加 tool callback plugin 的 unit test & CI workflow
[!NOTE] 沒異議的話明天下午 release
- Auto-generate session title
- https://github.com/cofacts/ai/pull/102/
- Will review tomorrow afternoon
- 有 test 所以 #98 可能要先進,建立 CI workflow
- 有點好奇要怎麼更新到 UI,但「後端更新」和「前端重新整理」確實可以分開 release,前者可以先進
cofacts/kb
- doc: add R&D source docs and wiki synthesis pages(merged 2026-07-01)
- 17 份技術設計文件、15 份研究文件加入
src/ - Cofacts.ai 系列文件也進去了,收在 src/research/cofacts.ai/ 和 src/technical-design/cofacts.ai/
- 新增 3 個 wiki 頁:
llm-integration、api-and-auth、media-and-content
- 17 份技術設計文件、15 份研究文件加入
- doc: add 20260630 meeting notes(merged 2026-07-01)
[!Note] 先進我的 CI 再來討論此 PR 使其成熟
cofacts/takedowns
- Takedown spam user 白白 9S73GJ8BEY7yIwhp4D4P(merged 2026-06-30)
Discord 重點討論
alerts
Cloudflare(2026-07-02 18:36 UTC):api.cofacts.tw Health Check 報 Unhealthy
原因:Response code mismatch — 預期 200,實際收到 403
- Discord 可能有人爬到公開的邀請連結 [name=nonumpa]
- Mitigation: 已經 revoke existing all invitation links + discord redirect 到新的 invitation link [name=mrorz]
- 停權時間:
- 7/7 8:00
- 7/5 1:16
- 7/3 8:00
- 7/1 8:00
- 6/28
- 不是從 cofacts.tw discord 網址,而是直接透過 discord 原本的 invitation link 進來
- 要調高驗證等級嗎?
[name=mrorz]
- 對不常講話的人可能有影響,先觀察邀請連結更新之後的結果 [name=nonumpa]
Cofacts.ai
https://github.com/orgs/cofacts/projects/12
- 資料小組招募 x 4, reviewing scope of work
[!Warning] MrOrz 要回 #collab 上的訊息
小聚
- 8 月,下次開會時約
- 會先 secure 青職基地 [name=bil]
Cofacts Production 狀態報告(2026-06-29 ~ 2026-07-06)
GCE 主機指標(cofacts-prod)
| 日期 | CPU (min | avg | p95 | max) | Mem (min | avg | p95 | max) | Swap (min | avg | p95 | max) |
|---|---|---|---|
| 06-29 | 13% | 34% | 57% | 67% | 62% | 66% | 70% | 72% | 40% | 43% | 46% | 47% |
| 06-30 | 13% | 25% | 40% | 50% | 62% | 66% | 68% | 69% | 41% | 42% | 45% | 45% |
| 07-01 | 11% | 23% | 34% | 43% | 63% | 66% | 68% | 70% | 41% | 42% | 44% | 48% |
| 07-02 | 12% | 27% | 38% | 45% | 62% | 66% | 68% | 69% | 40% | 42% | 44% | 44% |
| 07-03 | 13% | 24% | 34% | 39% | 62% | 65% | 67% | 69% | 42% | 43% | 44% | 46% |
| 07-04 | 12% | 23% | 34% | 46% | 62% | 66% | 68% | 70% | 41% | 43% | 44% | 45% |
| 07-05 | 13% | 22% | 32% | 45% | 62% | 65% | 68% | 70% | 42% | 43% | 45% | 45% |
| 07-06 | 14% | 22% | 28% | 31% | 63% | 65% | 67% | 69% | 43% | 44% | 45% | 46% |
即時狀態(2026-07-06 13:59 UTC+8):
- 開機時間:60 天 19 小時,Load avg: 0.64 / 0.77 / 0.88(健康)
- RAM:20 GiB 使用 / 31 GiB 總計(10 GiB 可用)
- Swap:1.7 GiB / 4.0 GiB(43%)
- 磁碟:49G / 67G(72%)
GCE 程序資源使用排行
記憶體(RSS)前三名
| 程序 | 正常用量(avg) | 尖峰(max) | 穩定性(Stddev) | 觀察 |
|---|---|---|---|---|
| Elasticsearch | ~19,170 MB | 19,566 MB | 72–114 MB | 極穩定,吃掉 ~62% RAM |
| node server.js (API) | 322–413 MB | 1,521 MB(6/30) | 106–151 MB | 峰值明顯下降中(見下) |
| node build/index.js | 144–153 MB | 945 MB(7/03) | 5–6 MB | avg 穩定,偶有突波 |
node /srv/www/server.js每日最大值持續下降:1305→1521→1409→1123→888→834→767→730 MB(6/29→7/06),趨勢正面。
CPU 前五名(μs/s)
| 程序 | 正常用量(avg) | 穩定性(Stddev) | 觀察 |
|---|---|---|---|
| Elasticsearch | 317–589k | 33–191k | 6/29 明顯偏高(avg 589k),之後降至 350k 穩定 |
| node server.js (API) | 171–287k | 10–81k | 同上,6/29 特別高,逐漸恢復 |
| node build/index.js | 161–231k | 12–52k | 穩定,6/29 略高 |
| node server.js (其他) | 40–108k | 9–27k | 大幅下降:6/29 avg 90k → 7/06 avg 40k(↓55%) |
| cloudflared | 38–54k | 5–10k | 小幅下降,正常 |
Cloud Run 服務指標
CPU(vCPU 使用率)
| 服務 | 正常值(p50) | 穩定性(p95 / p99) | 觀察 |
|---|---|---|---|
| site-tw | 0.04–0.22 | 0.73–0.92 / 0.93–1.01 | p99 接近 1 vCPU,尖峰時滿載 |
| cofacts-ai | 0.015(極低) | 0.12–0.27 / 0.35–0.47 | 大多時間 idle,有請求時才爆發 |
| line-bot-ja | 0.008–0.011 | up to 0.15 / 0.36 | 正常 |
| line-bot-en | 0.005–0.006 | up to 0.29 / 0.31 | 正常 |
記憶體(GiB)
| 服務 | 正常值(p50) | 尖峰(p99) | 觀察 |
|---|---|---|---|
| site-tw | 0.76–0.81 | 1.01 GiB | 接近 1 GiB 上限,需確認 Container memory limit |
| line-bot-en/ja | 0.37–0.41 | ~0.44 | 穩定 |
| cofacts-ai | 0.055 | 0.069 | 非常精簡 |
網路輸出(Cloud Run Egress)
| 服務 | 每日輸出 | 備注 |
|---|---|---|
| site-tw | 4.1–8.2 GB/日 | 6/29 最高 8.2 GB(週日),其餘 4–7 GB |
| 其餘服務 | < 2 MB/日 | 可忽略 |
重點觀察與建議
-
6/29 CPU 異常偏高:Elasticsearch 和 API server 在 6/29 皆有明顯 CPU 峰值,之後恢復正常。可能是週日流量較高或 Cloudflare cache miss 觸發大量 origin 請求。
-
Swap 緩慢上升(值得關注):Swap avg 從 6/30 的 42.1% 爬升至 7/06 的 43.8%,一週漲約 1.7%。雖仍在安全範圍,但若持續爬升需注意(主因仍為 Elasticsearch 極大記憶體佔用)。
-
磁碟使用率 72%:目前 49G/67G。不緊急,但建議持續監控,若資料量持續增長需規劃擴容。
-
site-tw Memory 接近 1 GiB:Cloud Run p99 記憶體達 1.01 GiB,建議確認容器 memory limit 設定,避免 OOM。
-
WAF 效果觀察(egress 降費任務):site-tw 本週每日流出 4–7 GB,6/29 有 8.2 GB 突波。7 月帳單驗收時可對比 WAF 上線前後的 egress 費用,觀察 WAF 封鎖 SEO 爬蟲的實際效果。
-
所有 Cloud Run 服務正常運作,無異常停機或部署失敗。
cofacts-ai於 7/04 有一次重新部署。