Prompt engineeringtại Anthropic tập trung vào việc tối ưu hóacâu lệnhđểmô hình ngôn ngữ lớnClaude phản hồi hiệu quả nhất, đồng thời ưu tiên yếu tố an toàn thông qua phương pháp thử nghiệm thực nghiệm.- Để đạt hiệu suất tối ưu từ Claude, người dùng nên mô tả rõ ràng
tác vụ, sử dụng cấu trúcthẻ XML, cung cấp nhiều ví dụ cụ thể và tận dụng tối đangữ cảnhdài. - Một kỹ thuật nâng cao quan trọng là cho phép
Claude"suy nghĩ" bằng cách sử dụng cácthẻ suy nghĩnội bộ, giúp cải thiện đáng kể chất lượng phản hồi cho các câu hỏi phức tạp.
Behind the prompt: Prompting tips for Claude.ai
- Mô tả tác vụ rõ ràng và cụ thể: Luôn cung cấp hướng dẫn trực tiếp, chính xác và chi tiết về mục tiêu của
câu lệnhđểClaudehiểu rõ những gì cần thực hiện, ví dụ như định nghĩa cụ thể vềPIIcần loại bỏ. - Sử dụng thẻ XML để cấu trúc prompt: Đánh dấu các phần khác nhau của
câu lệnhhoặc dữ liệu đầu vào bằngthẻ XML(ví dụ:<tag>...</tag>).Claudeđượctinh chỉnhđể đặc biệt chú ý đến cấu trúc này, giúp xử lý thông tin hiệu quả hơn. - Cung cấp ví dụ cụ thể và đa dạng: Bao gồm nhiều ví dụ khác nhau về cách
tác vụmong muốn được thực hiện. Điều này giúpClaudehọc từ các mẫu và áp dụng chúng một cách chính xác, đặc biệt với cáctác vụphức tạp như ẩn danh văn bản. - Tận dụng cửa sổ ngữ cảnh dài: Khai thác khả năng của
Claudetrong việc xử lý tới 100.000token(khoảng 70.000 từ) bằng cách cung cấp nhiều thông tin chi tiết,ngữ cảnhđầy đủ hoặc bộ ví dụ lớn để cải thiện hiệu suất và độ chính xác. - Cho phép mô hình "suy nghĩ" (Chain-of-Thought): Khuyến khích
Claudethực hiện quá trình lập luận nội bộ trước khi đưa ra câu trả lời cuối cùng bằng cách sử dụng cácthẻ suy nghĩ(ví dụ:<thinking>...</thinking>). Kỹ thuật này đã được chứng minh là giúpmô hình ngôn ngữ lớnđạt hiệu suất tốt hơn trên cáctác vụphức tạp.
prompt engineer— Kỹ sư nhắc lệnhmô hình ngôn ngữ lớn— Large Language Model (LLM)red teaming— Thử nghiệm an toàn / Đánh giá rủi ro mô hìnhjailbreaks— Bẻ khóa mô hình / Khai thác lỗ hổng promptcâu lệnh— Promptbenchmark— Điểm chuẩn / Tiêu chuẩn đánh giáthực hành tốt nhất— Best practicesthẻ XML— XML tagsngữ cảnh— Context windowtoken— Token (đơn vị xử lý văn bản)
Giới thiệu về Prompt Engineering tại Anthropic
Tôi là Alex, một prompt engineer tại Anthropic. Tôi giúp mọi người tận dụng tối đa Claude, luôn ưu tiên yếu tố an toàn hàng đầu. Tôi bắt đầu làm prompt engineering vào tháng 8 năm ngoái. Anthropic đã phát hành bài báo "Red Teaming Language Models to Reduce Harms", và tôi ngay lập tức đọc nó và bị cuốn hút. Tôi được truyền cảm hứng khi thấy một công ty áp dụng cách tiếp cận ưu tiên an toàn trong nghiên cứu các mô hình ngôn ngữ lớn, và tôi thấy thật thú vị khi có thể nhận thấy cách các mô hình phản hồi với các câu lệnh đa dạng và khác nhau.
Có thể bạn đã quen thuộc với các cuộc tấn công red teaming dưới dạng prompt exploits hoặc tên gọi "khét tiếng" hơn là jailbreaks. Tôi quyết định bắt đầu viết các jailbreaks sau khi đọc bài báo và được truyền cảm hứng bởi những cơ hội vẫn còn tồn tại để thực hiện red team các mô hình này. Jailbreaks là những câu lệnh cụ thể được viết ra để vượt qua các bộ lọc đã được áp dụng cho các mô hình ngôn ngữ lớn.
Prompt engineering là thực hành tối ưu hóa câu lệnh của bạn để nhận được phản hồi tốt nhất từ mô hình ngôn ngữ lớn. Tại Anthropic, chúng tôi áp dụng cách tiếp cận dựa trên kiểm thử thực nghiệm cho prompt engineering. Bất cứ khi nào chúng tôi viết một câu lệnh mới, chúng tôi sẽ chạy nó trên một loạt các benchmark để đo lường hiệu suất của nó một cách khoa học. Với Claude, chúng tôi đã khám phá ra một bộ các thực hành tốt nhất cho phép bạn tận dụng tối đa mô hình. Vì vậy, hãy cùng tìm hiểu. Dưới đây là năm mẹo của tôi để đạt được hiệu suất tốt nhất từ Claude.
1. Mô tả rõ ràng tác vụ
Đầu tiên, hãy mô tả tác vụ của bạn. Claude phản hồi tốt với các hướng dẫn rõ ràng, trực tiếp và cụ thể. Giả sử bạn muốn Claude loại bỏ thông tin nhận dạng cá nhân (PII) khỏi một đoạn văn bản. Giải thích cho Claude chính xác điều đó có nghĩa là gì sẽ giúp Claude nhận ra những phần văn bản nào cần loại bỏ, ví dụ như địa chỉ email và số điện thoại.
2. Sử dụng thẻ XML
Thứ hai, đánh dấu các phần khác nhau của câu lệnh bằng các thẻ XML. Thẻ XML trông như thế này: <tag>...</tag>. Claude đã được tinh chỉnh để đặc biệt chú ý đến cấu trúc của chúng. Trong ví dụ của chúng tôi, chúng tôi sử dụng các thẻ XML để chỉ ra điểm bắt đầu và kết thúc của các đoạn văn bản mà Claude cần ẩn danh.
3. Cung cấp ví dụ cụ thể
Thứ ba, hãy cung cấp ví dụ. Càng nhiều ví dụ, càng tốt. Bao gồm nhiều loại ví dụ sẽ giúp Claude học cách thực hiện tác vụ. Quay lại câu lệnh PII của chúng ta, chúng tôi cung cấp cho Claude các ví dụ về cách ẩn danh văn bản bên trong các thẻ XML.
4. Tận dụng cửa sổ ngữ cảnh dài
Thứ tư, hãy tận dụng ngữ cảnh dài. Claude có thể đọc tới 100.000 token. Đó là khoảng 70.000 từ, hoặc bằng độ dài của toàn bộ cuốn Great Gatsby.
5. Để Claude "suy nghĩ"
Và cuối cùng, mẹo cuối cùng là hãy để Claude "suy nghĩ". Các nhà nghiên cứu đã phát hiện ra rằng việc cho các mô hình ngôn ngữ lớn một khoảng thời gian để "suy nghĩ" về phản hồi trước khi đưa ra câu trả lời cuối cùng sẽ dẫn đến hiệu suất tốt hơn. Với Claude, chúng tôi thích sử dụng các thẻ suy nghĩ (ví dụ: <thinking>...</thinking>) để nó có thể ghi lại ý tưởng của mình trước khi trả lời một câu hỏi phức tạp. Trong ví dụ này, bạn có thể thấy Claude bắt đầu lập luận bên trong các thẻ suy nghĩ, và sau đó đưa ra câu trả lời cuối cùng của mình.
Tổng kết và tài nguyên
Được rồi, đó là những mẹo hàng đầu của tôi để tận dụng tối đa Claude, cùng một chút thông tin về bản thân tôi và hành trình prompting của mình. Để luôn cập nhật các thực hành tốt nhất về prompting mới nhất, hãy chắc chắn truy cập trang tài liệu dành cho nhà phát triển của chúng tôi. Và nếu bạn chưa có quyền truy cập vào Claude API, bạn vẫn có thể thực hành prompt engineering ngay bây giờ tại Claude.ai.
TL;DR
Prompt engineeringtại Anthropic tập trung vào việc tối ưu hóacâu lệnhđểmô hình ngôn ngữ lớnClaude phản hồi hiệu quả nhất, đồng thời ưu tiên yếu tố an toàn thông qua phương pháp thử nghiệm thực nghiệm.- Để đạt hiệu suất tối ưu từ Claude, người dùng nên mô tả rõ ràng
tác vụ, sử dụng cấu trúcthẻ XML, cung cấp nhiều ví dụ cụ thể và tận dụng tối đangữ cảnhdài. - Một kỹ thuật nâng cao quan trọng là cho phép
Claude"suy nghĩ" bằng cách sử dụng cácthẻ suy nghĩnội bộ, giúp cải thiện đáng kể chất lượng phản hồi cho các câu hỏi phức tạp.
Điểm chính
- Mô tả tác vụ rõ ràng và cụ thể: Luôn cung cấp hướng dẫn trực tiếp, chính xác và chi tiết về mục tiêu của
câu lệnhđểClaudehiểu rõ những gì cần thực hiện, ví dụ như định nghĩa cụ thể vềPIIcần loại bỏ. - Sử dụng thẻ XML để cấu trúc prompt: Đánh dấu các phần khác nhau của
câu lệnhhoặc dữ liệu đầu vào bằngthẻ XML(ví dụ:<tag>...</tag>).Claudeđượctinh chỉnhđể đặc biệt chú ý đến cấu trúc này, giúp xử lý thông tin hiệu quả hơn. - Cung cấp ví dụ cụ thể và đa dạng: Bao gồm nhiều ví dụ khác nhau về cách
tác vụmong muốn được thực hiện. Điều này giúpClaudehọc từ các mẫu và áp dụng chúng một cách chính xác, đặc biệt với cáctác vụphức tạp như ẩn danh văn bản. - Tận dụng cửa sổ ngữ cảnh dài: Khai thác khả năng của
Claudetrong việc xử lý tới 100.000token(khoảng 70.000 từ) bằng cách cung cấp nhiều thông tin chi tiết,ngữ cảnhđầy đủ hoặc bộ ví dụ lớn để cải thiện hiệu suất và độ chính xác. - Cho phép mô hình "suy nghĩ" (Chain-of-Thought): Khuyến khích
Claudethực hiện quá trình lập luận nội bộ trước khi đưa ra câu trả lời cuối cùng bằng cách sử dụng cácthẻ suy nghĩ(ví dụ:<thinking>...</thinking>). Kỹ thuật này đã được chứng minh là giúpmô hình ngôn ngữ lớnđạt hiệu suất tốt hơn trên cáctác vụphức tạp.
Từ vựng
prompt engineer— Kỹ sư nhắc lệnhmô hình ngôn ngữ lớn— Large Language Model (LLM)red teaming— Thử nghiệm an toàn / Đánh giá rủi ro mô hìnhjailbreaks— Bẻ khóa mô hình / Khai thác lỗ hổng promptcâu lệnh— Promptbenchmark— Điểm chuẩn / Tiêu chuẩn đánh giáthực hành tốt nhất— Best practicesthẻ XML— XML tagsngữ cảnh— Context windowtoken— Token (đơn vị xử lý văn bản)
Nội dung chi tiết
Giới thiệu về Prompt Engineering tại Anthropic
Tôi là Alex, một prompt engineer tại Anthropic. Tôi giúp mọi người tận dụng tối đa Claude, luôn ưu tiên yếu tố an toàn hàng đầu. Tôi bắt đầu làm prompt engineering vào tháng 8 năm ngoái. Anthropic đã phát hành bài báo "Red Teaming Language Models to Reduce Harms", và tôi ngay lập tức đọc nó và bị cuốn hút. Tôi được truyền cảm hứng khi thấy một công ty áp dụng cách tiếp cận ưu tiên an toàn trong nghiên cứu các mô hình ngôn ngữ lớn, và tôi thấy thật thú vị khi có thể nhận thấy cách các mô hình phản hồi với các câu lệnh đa dạng và khác nhau.
Có thể bạn đã quen thuộc với các cuộc tấn công red teaming dưới dạng prompt exploits hoặc tên gọi "khét tiếng" hơn là jailbreaks. Tôi quyết định bắt đầu viết các jailbreaks sau khi đọc bài báo và được truyền cảm hứng bởi những cơ hội vẫn còn tồn tại để thực hiện red team các mô hình này. Jailbreaks là những câu lệnh cụ thể được viết ra để vượt qua các bộ lọc đã được áp dụng cho các mô hình ngôn ngữ lớn.
Prompt engineering là thực hành tối ưu hóa câu lệnh của bạn để nhận được phản hồi tốt nhất từ mô hình ngôn ngữ lớn. Tại Anthropic, chúng tôi áp dụng cách tiếp cận dựa trên kiểm thử thực nghiệm cho prompt engineering. Bất cứ khi nào chúng tôi viết một câu lệnh mới, chúng tôi sẽ chạy nó trên một loạt các benchmark để đo lường hiệu suất của nó một cách khoa học. Với Claude, chúng tôi đã khám phá ra một bộ các thực hành tốt nhất cho phép bạn tận dụng tối đa mô hình. Vì vậy, hãy cùng tìm hiểu. Dưới đây là năm mẹo của tôi để đạt được hiệu suất tốt nhất từ Claude.
1. Mô tả rõ ràng tác vụ
Đầu tiên, hãy mô tả tác vụ của bạn. Claude phản hồi tốt với các hướng dẫn rõ ràng, trực tiếp và cụ thể. Giả sử bạn muốn Claude loại bỏ thông tin nhận dạng cá nhân (PII) khỏi một đoạn văn bản. Giải thích cho Claude chính xác điều đó có nghĩa là gì sẽ giúp Claude nhận ra những phần văn bản nào cần loại bỏ, ví dụ như địa chỉ email và số điện thoại.
2. Sử dụng thẻ XML
Thứ hai, đánh dấu các phần khác nhau của câu lệnh bằng các thẻ XML. Thẻ XML trông như thế này: <tag>...</tag>. Claude đã được tinh chỉnh để đặc biệt chú ý đến cấu trúc của chúng. Trong ví dụ của chúng tôi, chúng tôi sử dụng các thẻ XML để chỉ ra điểm bắt đầu và kết thúc của các đoạn văn bản mà Claude cần ẩn danh.
3. Cung cấp ví dụ cụ thể
Thứ ba, hãy cung cấp ví dụ. Càng nhiều ví dụ, càng tốt. Bao gồm nhiều loại ví dụ sẽ giúp Claude học cách thực hiện tác vụ. Quay lại câu lệnh PII của chúng ta, chúng tôi cung cấp cho Claude các ví dụ về cách ẩn danh văn bản bên trong các thẻ XML.
4. Tận dụng cửa sổ ngữ cảnh dài
Thứ tư, hãy tận dụng ngữ cảnh dài. Claude có thể đọc tới 100.000 token. Đó là khoảng 70.000 từ, hoặc bằng độ dài của toàn bộ cuốn Great Gatsby.
5. Để Claude "suy nghĩ"
Và cuối cùng, mẹo cuối cùng là hãy để Claude "suy nghĩ". Các nhà nghiên cứu đã phát hiện ra rằng việc cho các mô hình ngôn ngữ lớn một khoảng thời gian để "suy nghĩ" về phản hồi trước khi đưa ra câu trả lời cuối cùng sẽ dẫn đến hiệu suất tốt hơn. Với Claude, chúng tôi thích sử dụng các thẻ suy nghĩ (ví dụ: <thinking>...</thinking>) để nó có thể ghi lại ý tưởng của mình trước khi trả lời một câu hỏi phức tạp. Trong ví dụ này, bạn có thể thấy Claude bắt đầu lập luận bên trong các thẻ suy nghĩ, và sau đó đưa ra câu trả lời cuối cùng của mình.
Tổng kết và tài nguyên
Được rồi, đó là những mẹo hàng đầu của tôi để tận dụng tối đa Claude, cùng một chút thông tin về bản thân tôi và hành trình prompting của mình. Để luôn cập nhật các thực hành tốt nhất về prompting mới nhất, hãy chắc chắn truy cập trang tài liệu dành cho nhà phát triển của chúng tôi. Và nếu bạn chưa có quyền truy cập vào Claude API, bạn vẫn có thể thực hành prompt engineering ngay bây giờ tại Claude.ai.