

🎼 Tutorial: Symphony orchestrate 3 repo (API + Web + Mobile RN), ship feature trong 1 ngày
Bạn từng đau đầu khi 1 feature phải đụng cả backend API, web app và mobile React Native, mỗi repo 1 dev rồi chờ nhau cả tuần? Với OpenAI Symphony, bạn có thể parallel hóa 3 repo và ship trong 1 ngày.
🧩 Bối cảnh và tính năng ví dụ
Team SME có 3 repo: backend-api (NestJS), web-app (Next.js), mobile-app (RN + Expo). Cần build feature upload avatar:
- Backend:
POST /api/users/me/avatartrả về S3 presigned URL, validate MIME và size 5MB - Web: Settings page với drag-drop, crop preview, optimistic UI
- Mobile:
expo-image-picker, FormData PUT, progress bar, retry on fail
Bài toán: làm sao 3 phần code song song mà không break contract?
⚙️ Setup WORKFLOW.md trong 3 repo
Clone github.com/openai/symphony, đọc SPEC.md. Trong mỗi repo, tạo file WORKFLOW.md định nghĩa:
- Tools agent được dùng:
pnpm test,pnpm typecheck,eas build --profile preview - Branch naming:
symphony/AVATAR-1 - Test command, lint, deploy preview
- PR template kèm checklist contract API
Commit vào main mỗi repo. Đầu tư 1 ngày setup tiết kiệm hàng tuần sau đó.
📋 Tạo Epic + 3 sub-ticket trên Linear
Cài Symphony Elixir reference impl, connect Linear API token + GitHub PAT cho 3 repo. Symphony poll Linear board, mỗi ticket có label symphony sẽ spawn 1 agent.
Tạo Epic AVATAR: User profile photo upload với 3 sub-ticket:
[backend-api] AVATAR-1: POST endpoint với S3 presigned URL, response{uploadUrl, key, expiresAt}[web-app] AVATAR-2: Settings page upload UI (depends on AVATAR-1)[mobile-app] AVATAR-3: RN avatar picker + upload (depends on AVATAR-1)
Dán API contract chi tiết vào description từng ticket. Spec càng rõ, agent càng làm đúng.
🔄 API contract first và parallel execution
Đây là bước critical. Cho AVATAR-1 chạy TRƯỚC (1 agent backend). Khi backend merge PR + push OpenAPI spec lên npm package @yourorg/api-types, Symphony tự động unblock AVATAR-2 và AVATAR-3.
Sau đó 2 agent (web + mobile) spawn cùng lúc, mỗi agent workspace riêng. Cả 2 import types từ @yourorg/api-types để type-safe end-to-end. Web test với msw, mobile mock fetch.
Khác biệt lớn nhất so với cách cũ: thay vì tuần tự, bạn có 3 agent parallel.
📦 Review packet và merge
Mỗi agent submit review packet đầy đủ:
- PR link với CI status (test/lint/build)
- Walkthrough video Symphony tự generate
- Complexity analysis (cyclomatic, lines changed)
- Risk flags (security, breaking change)
CTO review 3 PR cùng lúc, merge theo thứ tự: backend → web → mobile. Tuyệt đối KHÔNG cho agent quyền merge tự động.
💡 Tips bảo mật và ROI thực tế
ROI rõ ràng:
- Trước Symphony: 3 dev × 2 ngày = 6 person-days
- Với Symphony: 1 dev oversight × 1 ngày = ~1 person-day
- Tiết kiệm 80%+, throughput x3-5 lần
Tips cho team Việt:
- Bắt đầu với feature CRUD đơn giản, đừng thử auth/payment ngay
- Khi agent stuck: bug thường ở ticket spec mơ hồ, không phải agent
- Track Codex API usage qua dashboard, set rate limit
- Bảo mật: GitHub App permission tối thiểu, không cấp prod credential
- Optional: GitHub Codespaces làm sandbox riêng cho mỗi agent
Sau 2 tuần, team 5-10 dev ship feature 3-repo với throughput x3-5 lần. Dev tập trung architecture và review thay vì gõ code repetitive.
Anh em đang setup AI dev workflow thế nào? Có ai thử Symphony hoặc tự build orchestrator chưa? Comment chia sẻ stack nhé!


