Header Ads Widget

Một số prompt hay dùng trong AI

Một số prompt mẫu thường dùng để AI xử lý công việc 

I. Thay đổi biến ngôn ngữ

# Nhiệm vụ

Chuyển toàn bộ text hiển thị (hardcoded UI text) trong file React/TypeScript sang đa ngôn ngữ bằng `t('...')`.

## Input

* File React/TypeScript cần xử lý.
* File ngôn ngữ `language` được cung cấp.

---

# Quy trình xử lý

1. Đọc toàn bộ file language.
2. So sánh theo **giá trị tiếng Việt (`vi_value`)**, **không so sánh theo tên biến (`code`)**.
3. Với mỗi text hiển thị trong source:

   * Nếu đã tồn tại trong language → thay bằng `t('code')`.
   * Nếu chưa tồn tại trong language:

     * Không tạo biến mới.
     * Không sửa nội dung text.
     * Giữ nguyên text trong source.
4. Sau khi xử lý xong, liệt kê toàn bộ các text chưa có trong language và sinh câu lệnh SQL để thêm chúng.

---

# Chỉ được thay

Các text hiển thị cho người dùng, bao gồm nhưng không giới hạn:

* JSX text
* Button
* Label
* Placeholder
* Tooltip
* Title
* Modal
* Drawer
* Dialog
* Popconfirm
* Notification
* Message
* Alert
* Empty state
* Validation message
* Tab
* Menu
* Dropdown
* Breadcrumb
* Card title
* Collapse title
* Table column title
* Form label
* Checkbox
* Radio
* Select option
* Switch label
* Upload text
* Badge
* Tag
* Timeline
* Steps
* Statistic
* Description
* aria-label
* alt
* title attribute
* helper text
* hint text
* Text nằm trong render()
* Text trong callback trả về JSX
* Text trong array `.map()`
* Text trong `columns`
* Text trong `items`
* Text trong cấu hình UI component
* Bất kỳ chuỗi nào cuối cùng sẽ hiển thị lên giao diện người dùng

---

# Không được thay

* Tên biến
* Function name
* Object key
* API
* URL
* Route
* className
* id
* enum
* Comment
* Logic xử lý
* Giá trị phục vụ logic
* Dữ liệu không hiển thị cho người dùng

---

# Quy tắc

* Không thay đổi format code.
* Không đổi indent.
* Không đổi thứ tự code.
* Không refactor.
* Không sửa logic.
* Không tự ý đổi nội dung text.
* Không thêm hoặc xoá import ngoài những gì thật sự cần (ví dụ chỉ thêm `useTranslation` nếu file chưa có).
* Giữ nguyên coding style của file.
* Nếu file đã có `useTranslation` hoặc `t` thì sử dụng lại, không tạo trùng.

---

# Định dạng thay thế

Ví dụ:

```tsx
<Button>Lưu</Button>
```


```tsx
<Button>{t('save')}</Button>
```

Ví dụ:

```tsx
placeholder="Tên khách hàng"
```


```tsx
placeholder={t('customer_name')}
```

---

# Nếu có text chưa tồn tại trong language

Giữ nguyên text trong source và xuất thêm:

```text
Các text chưa có:

- Text 1
- Text 2
- Text 3
```

Sau đó sinh SQL:

```sql
INSERT INTO language (code, vi_value, en_value)
VALUES
('text_1', 'Text 1', 'English Text 1'),
('text_2', 'Text 2', 'English Text 2'),
('text_3', 'Text 3', 'English Text 3');
```

---

# Quy tắc đặt code

* Chữ thường.
* Tiếng Anh.
* Không dấu.
* Dùng `_` để ngăn cách.
* Ngắn gọn.
* Dễ tái sử dụng.
* Phản ánh đúng ngữ nghĩa của nội dung.

---

# Rà soát bắt buộc (KHÔNG ĐƯỢC BỎ QUA)

Sau khi hoàn thành, **không được trả kết quả ngay**.

Bắt buộc thực hiện **03 vòng rà soát độc lập** trên toàn bộ file.

## Vòng 1

Quét toàn bộ file từ đầu đến cuối để thay thế.

## Vòng 2

Đọc lại toàn bộ file như một code reviewer.

Kiểm tra xem còn bất kỳ chuỗi tiếng Việt nào hiển thị trên giao diện chưa được thay bằng `t('...')` hay không.

## Vòng 3

Quét lại toàn bộ file lần cuối.

Đối với **mọi chuỗi string tiếng Việt**, tự hỏi:

> Chuỗi này có hiển thị cho người dùng không?

* Nếu CÓ:

  * Có trong language → bắt buộc đổi sang `t('...')`.
  * Chưa có trong language → giữ nguyên và đưa vào danh sách thiếu.
* Nếu KHÔNG:

  * Không được thay.

---

# Kiểm tra bắt buộc các vị trí dễ bỏ sót

Đặc biệt phải kiểm tra kỹ các vị trí sau:

* JSX lồng nhiều cấp
* Conditional render (`&&`, `?:`)
* `render()`
* `renderCell`
* `renderItem`
* `renderContent`
* `columns`
* `items`
* `options`
* `tabs`
* `menu`
* `breadcrumb`
* `steps`
* `modal`
* `drawer`
* `notification`
* `message`
* `toast`
* `Form.Item`
* `rules`
* `placeholder`
* `tooltip`
* `title`
* `description`
* `emptyText`
* `locale`
* `pagination`
* `.map()`
* `useMemo`
* `useCallback`
* Component custom nhận prop là text
* Object cấu hình UI
* Mọi chuỗi được truyền qua props để hiển thị.

---

# Tiêu chí hoàn thành

Chỉ được kết thúc khi đáp ứng đầy đủ tất cả điều kiện sau:

* Đã đọc toàn bộ file language.
* Đã quét toàn bộ file React từ đầu đến cuối.
* Đã thực hiện đủ 3 vòng rà soát.
* Không còn bất kỳ UI text nào đủ điều kiện nhưng chưa được chuyển sang `t('...')`.
* Mọi text chưa tồn tại trong language đều đã được liệt kê.
* SQL được sinh đầy đủ cho toàn bộ text còn thiếu.

Nếu còn nghi ngờ một chuỗi có phải UI text hay không thì **ưu tiên kiểm tra thêm ngữ cảnh trước khi kết luận**.

**Không được kết thúc sớm khi chưa hoàn thành đầy đủ các bước trên.**

---

# Kết quả trả về

1. File đã thay toàn bộ các text có sẵn trong language sang `t('code')`.
2. Danh sách các text chưa có trong language.
3. Câu lệnh SQL `INSERT IGNORE INTO language` cho các text còn thiếu.
4. Không tự ý thêm bất kỳ biến ngôn ngữ nào ngoài danh sách SQL được sinh.

 

II. Viết tài liệu hướng dẫn từ CURL

Trong quá trình phát triển phần mềm, việc viết tài liệu API thường mất khá nhiều thời gian. Thay vì viết thủ công, bạn có thể cung cấp cURL (và nếu có thì kèm Response JSON) cho AI để tự động sinh tài liệu API theo một cấu trúc thống nhất.

Tài liệu được tạo nên bao gồm:

  • Thông tin chung của API.
  • Mục đích sử dụng.
  • URL (Endpoint).
  • Header.
  • Body Request.
  • Query Parameters.
  • Path Parameters.
  • Trạng thái trả về từ API.
  • Response.
  • Response lỗi.
  • Luồng xử lý.
  • Ví dụ cURL.

Prompt sử dụng

Bạn là Technical Writer. Tôi sẽ cung cấp cho bạn cURL của một API (và có thể kèm Response JSON). Hãy phân tích và viết tài liệu API bằng tiếng Việt theo định dạng Markdown chuyên nghiệp để có thể đưa trực tiếp vào Google Docs hoặc tài liệu kỹ thuật.

Yêu cầu:
- Không tự suy diễn dữ liệu, nếu thiếu thì ghi "Chưa xác định".
- Chỉ ghi Endpoint, không ghi Base URL.
- Phân tích đầy đủ Method, Header, Query Parameters, Path Parameters, Body và Response.
- Nếu dùng Bearer Token thì tự thêm Authorization Header.
- Nếu là upload file thì tự nhận biết multipart/form-data, chỉ hiển thị các field upload và bổ sung mục Quy định Upload.
- Nếu Response theo chuẩn {status, msg, data} thì tạo thêm bảng Trạng thái trả về từ API.
- Response, Request Body và các Parameters phải trình bày dưới dạng bảng.
- Có ví dụ Response JSON.
- Có các Response lỗi nếu xác định được.
- Có Luồng xử lý.
- Cuối tài liệu đặt lại đầy đủ cURL.

Cấu trúc tài liệu:

# <Tên API>

## Mục đích

## URL

## Header

## Body

## Query Parameters

## Path Parameters

## Trạng thái trả về từ API

## Response

## Response lỗi

## Luồng xử lý

## Ví dụ cURL

Cách sử dụng

Chỉ cần gửi cho AI:

Viết tài liệu API theo mẫu dưới đây.

cURL:
<dán cURL>

Response:
<dán JSON Response>

Nhận xét