Giới Thiệu
Trong thời đại công nghệ hiện nay, trí tuệ nhân tạo (AI) không chỉ đơn thuần là hoàn thành các nhiệm vụ mà còn phải có khả năng dự đoán, thúc đẩy và đôi khi là tranh luận. Tôi đã xây dựng một nền tảng giao dịch có tính tự động hoá cao mang tên Aurum Prop Firm, với sự hỗ trợ từ Kiro. Bài viết này sẽ chia sẻ về quá trình phát triển sản phẩm, những bài học kinh nghiệm và cách mà AI có thể hữu ích hơn cho các nhà phát triển.
Những Gì Tôi Xây Dựng
- Trang đích cao cấp với chuyển động và tương tác nhỏ, mang lại cảm giác như một sản phẩm thực thụ.
- API danh sách chờ không máy chủ được hỗ trợ bởi Neon (Postgres), với các tính năng như tạo bảng idempotent, xác thực và phân tích đơn giản.
- Tích hợp OANDA thông qua một client HTTPS nhẹ: giá cả, tài khoản, lịch sử và đặt lệnh (không SDK, không phụ thuộc).
- Bảng điều khiển đã đăng nhập (NextAuth credentials) với:
- Luồng giao dịch (tài khoản → cặp → hướng) với bid/ask trực tiếp, chênh lệch và nhật ký giao dịch.
- Nhật ký Spirit để lý luận, với TradingView nhúng.
- Lịch sử tài khoản với P&L và tóm tắt vị thế trực tiếp.
- Thanh toán qua Korapay:
- Chuyển đổi USD→NGN tại khởi tạo, đối chiếu webhook và tự động cấp phát tài khoản thử nghiệm khi thành công.
- Bảng điều khiển quản trị cho danh sách chờ, người dùng, khả năng nhìn thấy tài khoản OANDA và xuất CSV.
- Kịch bản tiện ích cho thiết lập/ dọn dẹp DB và chẩn đoán OANDA để phát triển nhanh chóng tại địa phương.
Công Nghệ Sử Dụng
- Next.js (App Router), Neon (Postgres không máy chủ), NextAuth (tín chỉ), OANDA (HTTP API), Korapay (thanh toán), widget TradingView và một số kịch bản Node nhỏ để giữ cho tôi trung thực.
Quy Trình Làm Việc Với Kiro (Vibe + Spec, song song)
Tôi bắt đầu với chỉ có spec. Điều này không hiệu quả. Giao diện người dùng phẳng và thiếu sức sống—về mặt kỹ thuật thì đúng, nhưng không hấp dẫn. Bài học lớn: “đúng” không giống như “hấp dẫn.”
Chuyển biến xảy ra khi tôi nhận ra rằng tôi có thể kết hợp vibe và spec cùng một lúc:
- Vibe: “Tạo một trang đích điện ảnh với chiều sâu và chuyển động—biểu đồ động, các tính năng cuộn vào, điều hướng dính và điểm nhấn màu vàng tinh tế.” Kiro đã tạo ra một trang chính bóng bẩy, với biểu ngữ động và tương tác nhỏ. Tôi đã điều chỉnh với các phản hồi như “giảm độ trễ khi tải,” “thắt chặt quy mô chữ,” “thêm thống kê độ tin cậy.”
- Spec: “Tạo POST /api/waitlist với Neon; xác thực email; tạo bảng idempotent; ghi lại IP và UA; trả về vị trí trong hàng đợi.”
Kiro đã thực hiện endpoint và trợ giúp DB mà tôi cần, và chúng tôi đã kiểm tra qua các trường hợp biên.
Tính Năng Của Sản Phẩm
Danh Sách Chờ và Trang Đích
- Hero cao cấp với động thái biểu đồ, các tính năng cuộn vào và CTA mượt mà. Các đơn đăng ký được chuyển đến bảng danh sách chờ với việc ghi lại IP/UA, kiểm tra trùng lặp và phản hồi “vị trí trong hàng đợi.” Những điểm nhấn đẹp, không có độ phức tạp backend nặng nề.
Bảng Điều Khiển Giao Dịch
- Tài khoản được cung cấp thông qua DB (cấp phát qua thanh toán) và liên kết OANDA. Tài khoản hoạt động có hình ảnh đặc trưng và có thể chọn.
- Giá trực tiếp được lấy mỗi vài giây cho các cặp chính, dừng lại vào cuối tuần. Nó ánh xạ các công cụ một cách rõ ràng (EUR_USD ↔ EUR/USD), hiển thị chênh lệch và tránh trạng thái cũ.
- Luồng giao dịch yêu cầu kỷ luật:
- Trước khi đặt lệnh, bạn phải ghi lại lý do (modal), điều này sau đó được lưu như một artefact hạng nhất.
- Kích thước rủi ro được tính toán phía máy chủ (0.25%) với logic nhận thức pip, bao gồm toán JPY. SL/TP được tính toán tự động theo kế hoạch (Standard 1:3, Pro 1:6).
- Có quy tắc một giao dịch mỗi phiên (NY/London/Tokyo/Sydney UTC). Khi điều này xảy ra, bạn nhận được hướng dẫn rõ ràng và thời gian của giao dịch trước.
- Các đơn hàng được xác thực dựa trên giá trực tiếp của OANDA; các giá do khách hàng cung cấp bị bỏ qua. Khi OANDA từ chối (FIFO/vị trí đối kháng/margin), lý do lỗi được hiển thị không thay đổi.
Lịch Sử Giao Dịch
- Hiện thị các giao dịch với giá được định dạng, đơn vị và P&L chưa thực hiện trực tiếp cho các vị thế mở.
Thanh Toán và Cấp Phát
- Khởi tạo sử dụng endpoint tỷ giá của Korapay để chuyển đổi USD sang NGN (với tỷ giá dự phòng nếu cần).
- Webhook kết hợp payload với metadata đơn hàng đã lưu và tự động tạo một tài khoản giao dịch “thử thách” với các mục tiêu lợi nhuận và rủi ro tối đa, dựa trên kế hoạch và kích thước.
Quản Trị
- Xem danh sách chờ, xuất CSV, tạo người dùng, khả năng nhìn thấy tài khoản OANDA và xem xét cấp phát. Đủ để vận hành mà không cần SSH vào một cơ sở dữ liệu.
Các Lợi Ích Của Spec Và Những Hạn Chế
Spec đã xuất sắc trong tất cả các ranh giới backend:
- Danh sách chờ: xác thực đầu vào, tạo bảng idempotent, hình dạng phản hồi dự đoán.
- OANDA: ánh xạ lỗi sạch (401/403/503), chuẩn hóa ID, logic “không có giá, không giao dịch.”
- Giao dịch: kích thước rủi ro, logic pip, SL/TP dựa trên kế hoạch, cửa sổ phiên.
- Thanh toán: chi tiết chuyển đổi USD→NGN, đối chiếu webhook và cấp phát xác định.
Spec không cung cấp cho tôi một giao diện người dùng tốt. Lần đầu tiên tôi chỉ làm spec trông giống như một văn phòng quản trị. Đúng, nhưng không thuyết phục. Ngay khi tôi kết hợp spec với vibe, tốc độ và chất lượng gắn kết với nhau. Spec làm cho các trường hợp biên và hợp đồng trở nên đáng tin cậy; vibe làm cho nó cảm thấy như một cái gì đó tôi muốn sử dụng. Sự kết hợp đó đã cho tôi một sản phẩm vừa vững chắc vừa thể hiện.
Những Điều Ấn Tượng Mà Kiro Tạo Ra
Pipeline giao dịch. Nó hoàn chỉnh “quy tắc prop, nhưng thực”:
- Giải quyết giá giữa trực tiếp với các lựa chọn dự phòng hợp lý và ghi chú rõ ràng. Nếu không có giá, không giao dịch. Nếu là cuối tuần, hãy chờ. Nếu OANDA từ chối đơn hàng, hiển thị lý do chính xác (không phải một diễn giải mơ hồ).
- Kích thước rủi ro ở mức 0.25% với toán học nhận thức pip và chuyển đổi JPY được xử lý chính xác.
- Quy tắc SL/TP được tính toán phía máy chủ theo kế hoạch và công cụ với độ chính xác thập phân đúng (7/21 pip cho Standard, 7/42 pip cho Pro).
- Một giao dịch mỗi phiên, sử dụng cửa sổ phiên UTC thực tế cho NY, London, Tokyo, Sydney, với thông điệp hữu ích và thời gian của giao dịch trước đó.
- Tính bền vững tôn trọng câu chuyện:
- Hồ sơ đơn hàng với metadata OANDA/ kích thước.
- Hồ sơ giao dịch sau khi điền, với mức vào và SL/TP khóa lại.
- Một mục nhật ký lưu trữ “lý do” của bạn như một artefact hạng nhất (điều này rất quan trọng cho kỷ luật).
- Một bản cập nhật thống kê theo dõi trạng thái tài khoản trung thực.
Lý Do Tôi Bỏ Qua Kiro Hooks
Tôi đã không sử dụng Kiro hooks cho dự án này. Bắt đầu muộn, tôi tối ưu hóa cho tính dự đoán và tốc độ:
- Không có DSL hook để học.
- Ít điểm tích hợp hơn để gỡ lỗi.
- Kịch bản và các API routes mà tôi có thể chạy và xác minh ngay lập tức.
Điều Tôi Sẽ Cân Nhắc Lần Tới:
- Hooks cho kiểm tra sức khỏe định kỳ (kết nối OANDA, di chuyển DB).
- Hooks để thực thi các xác thực kiểu CI (hợp đồng route không thay đổi, bảo vệ môi trường).
- Hooks cho quy trình nhập tài liệu (ví dụ: “tự động tái lập chỉ mục tài liệu của nhà cung cấp và kiểm tra lint các client API với chúng”).
Chi Phí Tiềm Ẩn Của Phát Triển AI
Trong một bài viết trước, tôi đã chỉ ra chi phí thực sự của phát triển tăng cường AI: nó có thể làm cho chúng ta nhanh hơn trong khi âm thầm làm tê liệt bản năng của chúng ta. “Cảm giác nhện” mà bạn có được từ việc vật lộn với các hệ thống—gỡ lỗi sâu, giải quyết các trường hợp biên—có thể bị atrophy nếu bạn không bao giờ phải ngồi với một vấn đề.
Kết Luận
Tôi đã sử dụng Kiro như một công cụ tăng cường, nhưng tôi không chuyển nhượng vị giác hay phán đoán. Spec làm cho nền tảng đáng tin cậy. Vibe làm cho nó hấp dẫn. Các kịch bản và routes giữ cho tôi trung thực, nhanh chóng và tập trung. Và tôi đã bỏ qua hooks—không phải mãi mãi, nhưng cho sprint này—bởi vì tôi muốn ít phần chuyển động hơn trong khi giao hàng một cái gì đó tham vọng trong thời hạn.
Nếu bạn đang xây dựng với AI:
- Kết hợp spec với vibe. Một cái mà không có cái kia có thể sẽ yếu hoặc tẻ nhạt.
- Giữ cho hệ thống có thể bị gián đoạn và quan sát được.
- Sử dụng AI để di chuyển nhanh hơn, nhưng yêu cầu hiểu rõ lý do tại sao mọi thứ hoạt động.