0

[Technical Document] Từ ý tưởng tới bản thiết kế trong vài chục phút với hỗ trợ cùng AI tools

Là một người làm trong ngành phần mềm, trong quá trình làm dự án, làm tính năng sản phẩm có lẽ anh em nào cũng từng trải qua việc phác thảo bản thiết kế hệ thống, chức năng có thể là đơn giản hoặc chi tiết để đưa ra thuyết phục khách hàng, thuyết phục đồng nghiệp, làm tài liệu kiến trúc cho dự án để gọi là lưu lại bản vẽ "hoàn công", sau ai muốn đập phá cơi nới thì còn biết đâu mà đụng.

Nhưng thực tế những dự án mình làm qua, những bạn bè và đồng nghiệp mình biết thì những document dạng này thường thiếu, ít khi mà có đầy đủ trừ khi được yêu cầu cẩn thận và có kiểm tra chéo thường xuyên. Phần vì mọi người sẽ phải bận tâm vào việc triển khai, làm rõ yêu cầu, cuốn theo deadline làm sao ra được tính năng như ý cho khách hàng là được. Phần vì phân công nhiệm vụ cũng chẳng tới, dự án cũng chưa tới mức có một role riêng chuyên về giải pháp và kiến trúc, thì mấy việc vẽ vời này cũng ít được đề cao, hoặc là để đó khi nào có thời gian thì bổ sung sau...

Nói chung khi đi học thì cũng được dạy trong quy trình phát triển phần mềm thì cũng vẽ 7749 loại diagram khác nhau, làm đồ án, làm bài tập lớn đều có cả, phải qua được vòng đó hãy tính đến vòng triển khai sản phẩm và demo có đúng không ạ?

Trước mình cũng dùng đủ các công vụ để kẻ vẽ lúc thì dùng tool online, lúc dùng phần mềm offline, khi thì vẽ lên cả lên bảng cầm tay, nói chung là cũng mất thời gian nhưng bạn sẽ nhớ lâu và hiểu rõ cái mình cần làm.

Tất nhiên như đã đề cập, không phải lúc nào thời gian cũng cho phép và khách hàng trả tiền cho bạn không chỉ ngồi vẽ.


Github Copilot, Markdown, Mermaid

Markdown và Mermaid: Có lẽ bạn cũng đọc nhiều về việc các AI tools khuyến khích việc nếu cung cấp tài liệu định dạng markdown (.md), anh em không lạ gì nó nữa, xuất hiện gần như đầu tiên trong mỗi cái source code dự án với README.md. Mermaid thì là một tool giúp anh em từ cú pháp chuyển đổi sang dạng trực quan hóa là hình ảnh diagram và chart rồi, điều tuyệt vời là mermaid có thể sử dụng ngay bên trong markdown file và preview digram tức thì. Trước đây thi thoảng khi tạo pull request hoặc issue trên github, mình cũng có đưa mermaid diagram vô phần mô tả cho trực quan, mà cực cái lại đi search với nhớ mấy cái cú pháp hoặc copy 1 template có sẵn rồi sửa theo ý mình, nói chung là nhớ mấy cái đó không có nhiều giá trị đối với mình lắm nên có AI hỗ trợ từ text ra được cái chart như ý nó khoái lắm.

Với sự trợ giúp của AI và các tools hiện tại mình nghĩ là có thể xóa bỏ được vấn đề đau đáu nhất "lười vẽ thiết kế chi tiế", "tốn quá nhiều resource vào doc thiết kế" ... Mình sử dụng github copilot đơn vì đó là công cụ trả phí được công ty mua cho nhân viên, bạn có thể dùng AI assistant mà bạn quen với nó, ví dụ như mình thử với cả Gemini (cũng được công ty mua cho) thì kết quả cũng tốt cả.

Thôi quay lại vấn đề làm sao ra được "Technical document" nhanh chóng: (khoảng 5-15 phút với một số ý tưởng đơn giản của mình)

  • Mình mở cửa sổ chat với Github Copilot, model thì tùy chọn thôi nhưng thấy chưa cần sử dụng tới mấy pro ở thời điểm hiện tại như claude-sonet 4.5 hay gpt5-codex, mình dùng bản gpt5-mini.
  • Đưa cho Copilot promt với nội dung mà mình đang muốn làm, trước tiên sẽ là tổng quan:
    I plan to deploy my service ... to gcp cloudrun so I want to add one more mermaid sequenceDiagram and summary of my thought
    
    Idea:
    ...
    
  • Sau sẽ nhanh chóng nhận được summary text được stream ra line by line, trau truốt lại từng câu chữ cho mình hơn mà vẫn giữ nguyên ý tưởng, hình ảnh trực quan hóa với Mermaid sequence Diagram.
  • Sau khi có flow tổng quan thì bạn có thể tiếp tục chia nhỏ từng phần trong thiết kế và tiếp tục prompt yêu cầu AI đưa bổ sung nội dung và hình ảnh minh họa.

Thành quả sau 10 phút

Dưới đây là ảnh mình chụp 1 phần trong tài liệu đã tạo, 1 flow nhỏ được làm rõ hơn từ kiến trúc tổng quan.

Kết quả vậy cũng ổn so với công sức bỏ ra đúng không? 👻

Với sự hỗ trợ của AI tools chúng ta có thể quay về với cơ bản trong trường hợp này Bản vẽ thiết kế trước - Thi công sau.

Kết quả:

  • Mình đã tạo ra bản phác thảo về kiến trúc và hình dung về các thành phần của một service nhanh chóng (vài chục phút) từ chính ý tưởng thiết kế.
  • Nó thực sự rất hữu ích với công việc thiết kế cũng như chuẩn bị tài liệu cho dự án, cung cấp cái nhìn trực quan cho cả team phát triển lẫn người quản lý, mang những công cụ tài liệu hóa gần gũi hơn với tất cả thành viên trong team kể cả những bạn không chuyên sâu kỹ thuật trong team.
  • Quản lý các phiên bản thiết kế và sửa đổi có thể đẩy lên github cũng được, có repo hoặc folder spec riêng cũng ok (nhớ deploy thì loại bỏ khỏi source nhá.)
  • Giải phóng công sức, thời gian cho mấy thứ không muốn/cần nhớ như học dùng các tool khác nhau.

Trên đây chỉ là một ví dụ về sự kết hợp của trợ lý AI và tận dụng các tool hỗ trợ công việc, còn rất nhiều use case khác mà anh em có thể áp dụng, như xuất ra code để apply vào dbdiagram.io đễ show lên thiết kế DB này. Nói chung là làm sao giải quyết từ công việc nhỏ nhất mà bạn đang phải lặp lại hay bỏ qua, để có thời gian tập trung vào suy nghĩ, triển khai và làm những công việc có giá trị hơn cho dự án, sản phẩm.

Tạm kết: Dù có tool này tool kia, công nghệ giúp tạo ra kết quả nhanh chóng nhưng riêng với vẽ vời, ghi chú... thì đôi khi mình lại thích chậm lại hơn là nhanh, thích nét vẽ nguệch ngoạc với excalidraw hay trên chiếc bảng vật lý hơn là những hình vẽ lặp lại, vì như vậy mình sẽ dành nhiều thời gian cho não bộ suy nghĩ và hình dung lâu hơn, đối với mình đôi khi là dễ thẩm thấu hơn.

Cảm ơn bạn đã dành thời gian đọc tới cuối bài viết. 🍺


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí