Background Coding Agents: Downstream Consumer Dataset Migrations (Honk, Part 4)

Bài tóm tắt Spotify 2026 3. Quy mô lớn Độ khó: Dễ

Spotify · 2026 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc

Series về coding agent nội bộ "Honk" (chạy Claude Code). Wiki chỉ giữ phần migration dữ liệu và nền tảng; phần kỹ thuật prompt/agent tóm tắt ngắn.

Bối cảnh

  • Cuối 2025, Spotify cần khai tử hai dataset người dùng được dùng nhiều nhất để ra bản mới có thêm chiều dữ liệu. Hai dataset có khoảng 1.800 pipeline phụ thuộc trực tiếp và gián tiếp ảnh hưởng vài nghìn pipeline khác, trên ba framework: BigQuery Runner và dbt (SQL), Scio (Scala). Hạn là 6 tháng; làm tay ước khoảng 10 tuần công kỹ sư.

Thay đổi chính

  • Tìm phạm vi bằng lineage: trang của mỗi endpoint trong Backstage liệt kê consumer phía sau; plugin Codesearch tìm repo đích trên GitHub Enterprise và đánh dấu vào phạm vi migration, điều phối bằng plugin Fleetshift (Fleet Management).
  • Agent sửa code theo file ngữ cảnh viết sẵn (lúc đó agent không được đọc tài liệu ngoài, một rào chắn có chủ ý). Bản hướng dẫn migrate viết cho người là không đủ; phải có bảng ánh xạ trường cũ → mới tường minh. Chỗ cần phán đoán theo use case thì agent để nguyên, thêm comment trỏ tới hướng dẫn cho người review.
  • Bỏ Scio: pipeline Scio mỗi team viết một kiểu, không viết được ngữ cảnh bao quát; chỉ làm BigQuery Runner và dbt (chuẩn hoá hơn).
  • Repo BigQuery Runner/dbt hầu như không có unit test lúc build, nên agent không tự kiểm được; team chủ sở hữu phải test tay trước khi merge.
  • Kết quả: 240 PR migration tự động, theo dõi tiến độ trên giao diện của Fleetshift; ước tiết kiệm khoảng 10 tuần công.

Vì sao

  • Khai tử một dataset là migration của mọi consumer, không phải của bên sở hữu; khó nhất là biết consumer là ai và nhắc họ chuyển (Pipeline dữ liệu và analytics).
  • Tự động hoá migration (người hay agent) chỉ chạy tốt trên phần đã chuẩn hoá và có test (Migration không downtime).

Bài học cho SWE

  • Lineage (ai đọc dataset nào) phải có trước khi cần khai tử; không có thì phạm vi migration là đoán.
  • Chuẩn hoá framework và bắt buộc test là điều kiện cho migration tự động ở quy mô fleet, giống Allegro 2024 với Dependabot/OpenRewrite.
  • Ánh xạ tường minh (bảng) tốt hơn văn xuôi, cho cả máy lẫn người.

Liên quan