Chủ Nhật, 30 tháng 11, 2025

Hội thảo ‘Cập nhật phong trào Mở tại Việt Nam từ góc nhìn nghiên cứu và thực hành’ do GO-GN ASIA PACIFIC tổ chức tại Hà Nội ngày 1/12/2025 Hà Nội



Ngày 1/12/2025, Mạng Tài nguyên Giáo dục Mở Toàn cầu, khu vực châu Á - Thái bình dương dành cho các sinh viên tốt nghiệp - GO-GN ASIA PACIFIC (Global OER Graduate Network - Asia Pacific Hub), Đại học KHXHNV – ĐHQG Hà Nội đã tổ chức hội thảo tại Hà Nội với chủ đề ‘Cập nhật phong trào Mở tại Việt Nam từ góc nhìn nghiên cứu và thực hành’.








Trong thời gian cả ngày hội thảo, các diễn giả tham dự hội thảo từ nhiều trường đại học khắp cả nước đã trình bày các tham luận về nghiên cứu và thực hành trên nhiều khía cạnh của phong trào Mở ở Việt Nam như Giáo dục Mở, Tài nguyên Giáo dục Mở, Nghiên cứu Mở, AI (Nguồn) Mở, Cấp phép Mở, Xuất bản Truy cập Mở, Sư phạm Mở, Dữ liệu Mở, Phần mềm Nguồn Mở. Hội thảo cũng đã dành nhiều thời gian thảo luận về những điểm mạnh, yếu, cơ hội và thách thức của việc triển khai các hoạt động nghiên cứu và thực hành Tài nguyên Giáo dục Mở tại các cơ sở giáo dục trong bối cảnh chính sách về Tài nguyên Giáo dục Mở đã được Chính phủ ban hành; cũng như vai trò của GO-GN ASIA PACIFIC là gì trong việc hỗ trợ các giáo viên và nhà nghiên cứu tại các cơ sở giáo dục của họ để tăng cường cho việc nghiên cứu và thực hành Mở nói chung, Tài nguyên Giáo dục Mở nói riêng. Những người tham dự cũng thảo luận về một vài ưu tiên quan trọng nhất cho cộng đồng hướng tới các bước hành động tiếp theo trong vài năm tới.

X (Tweet): https://x.com/nghiafoss/status/1995400391186645221

Xem thêm:

Blogger: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Năm, 27 tháng 11, 2025

Hội thảo ‘Xây dựng nhà trường số dựa trên nền tảng năng lực số và ứng dụng công nghệ 4.0, AI’ tại Trường Cao đẳng Điện Biên, 28/11/2025


Hiệp hội các trường Cao đẳng Nghề nghiệp Ngoài công lập Việt Nam - Văn phòng đại diện tại thành phố Hồ Chí Minh; Viện nghiên cứu, Đào tạo và Phát triển tài nguyên giáo dục mở (InOER) và Google For Education Việt Nam tổ chức Tọa đàm ‘Xây dựng nhà trường số dựa trên nền tảng năng lực số và ứng dụng công nghệ 4.0, AI’ trong ngày 28/11/2025 tại Trường Cao đẳng Công nghệ - Năng lượng Khánh Hòa.



Tải về các bài trình chiếu tại Hội thảo:

X (Tweet): https://x.com/nghiafoss/status/1994244366433472664

Xem thêm:

Blogger: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Tư, 26 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Soạn thảo lời nhắc hiệu quả cho LLM


Crafting Effective Prompts for LLMs

Theo: https://www.promptingguide.ai/guides/optimizing-prompts


Video: What makes a good prompt? (Prompting Tips)

Mô hình Ngôn ngữ Lớn (LLM) cung cấp sức mạnh to lớn cho nhiều tác vụ khác nhau, nhưng hiệu quả của chúng phụ thuộc vào chất lượng của các lời nhắc. Bài viết trên blog này tóm tắt các khía cạnh quan trọng của việc thiết kế lời nhắc hiệu quả để tối đa hóa hiệu suất LLM.

Những cân nhắc chính khi thiết kế lời nhắc

Tính cụ thể và rõ ràng: Cũng giống như việc hướng dẫn con người, lời nhắc cần nêu rõ kết quả mong muốn. Sự mơ hồ có thể dẫn đến kết quả đầu ra không mong muốn hoặc không liên quan.

Đầu vào và đầu ra có cấu trúc: Việc cấu trúc đầu vào bằng các định dạng như JSON hoặc XML có thể cải thiện đáng kể khả năng hiểu và xử lý thông tin của LLM. Tương tự, việc chỉ định định dạng đầu ra mong muốn (ví dụ: danh sách, đoạn văn hoặc đoạn mã) sẽ cải thiện tính liên quan của phản hồi.

Dấu phân cách cho Cấu trúc Nâng cao: Việc sử dụng các ký tự đặc biệt làm dấu phân cách trong lời nhắc có thể làm rõ hơn cấu trúc và phân tách các thành phần khác nhau, cải thiện khả năng hiểu của mô hình.

Phân tích Nhiệm vụ cho các Hoạt động Phức tạp: Thay vì trình bày LLM với một lời nhắc duy nhất bao gồm nhiều nhiệm vụ, việc chia nhỏ các quy trình phức tạp thành các nhiệm vụ con đơn giản hơn sẽ cải thiện đáng kể tính rõ ràng và hiệu suất. Điều này cho phép mô hình tập trung vào từng nhiệm vụ con riêng lẻ, cuối cùng dẫn đến kết quả tổng thể chính xác hơn.

Các Chiến lược Lời nhắc Nâng cao

Lời nhắc vài lần (Few-Shot Prompting): Cung cấp cho LLM một vài ví dụ về các cặp đầu vào-đầu ra mong muốn sẽ hướng dẫn nó tạo ra các phản hồi chất lượng cao hơn bằng cách chứng minh mô hình dự kiến. Tìm hiểu thêm về gợi ý vài lần tại đây.

Lời nhắc theo Chuỗi tư duy (Chain-of-Thought Prompting): Khuyến khích mô hình "suy nghĩ từng bước" bằng cách gợi ý rõ ràng để chia nhỏ các nhiệm vụ phức tạp thành các bước suy luận trung gian giúp nâng cao khả năng giải quyết các vấn đề đòi hỏi suy luận logic. Tìm hiểu thêm về lời nhắc theo chuỗi tư duy tại đây.

Lời nhắc Tái hành động: ReAct (Suy luận + Hành động): Phương pháp này tập trung vào việc khơi gợi suy luận nâng cao, lập kế hoạch và thậm chí cả việc sử dụng công cụ từ LLM. Bằng cách cấu trúc các lời nhắc để khuyến khích những khả năng này, các nhà phát triển có thể mở khóa các ứng dụng tinh vi và mạnh mẽ hơn. Tìm hiểu thêm về ReAct tại đây.

Kết luận

Thiết kế lời nhắc hiệu quả là yếu tố then chốt để khai thác tối đa tiềm năng của LLM. Bằng cách tuân thủ các phương pháp hay nhất như tính cụ thể, định dạng có cấu trúc, phân tích nhiệm vụ và tận dụng các kỹ thuật tiên tiến như lời nhắc ít lần, chuỗi tư duy và ReAct, các nhà phát triển có thể cải thiện đáng kể chất lượng, độ chính xác và độ phức tạp của kết quả đầu ra được tạo ra bởi các LLM mạnh mẽ này.

Về mục lục ………. Phần trước

Large Language Models (LLMs) offer immense power for various tasks, but their effectiveness hinges on the quality of the prompts. This blog post summarize important aspects of designing effective prompts to maximize LLM performance.

Key Considerations for Prompt Design

Specificity and Clarity: Just like giving instructions to a human, prompts should clearly articulate the desired outcome. Ambiguity can lead to unexpected or irrelevant outputs.

Structured Inputs and Outputs: Structuring inputs using formats like JSON or XML can significantly enhance an LLM's ability to understand and process information. Similarly, specifying the desired output format (e.g., a list, paragraph, or code snippet) improves response relevance.

Delimiters for Enhanced Structure: Utilizing special characters as delimiters within prompts can further clarify the structure and segregate different elements, improving the model's understanding.

Task Decomposition for Complex Operations: Instead of presenting LLMs with a monolithic prompt encompassing multiple tasks, breaking down complex processes into simpler subtasks significantly improves clarity and performance. This allows the model to focus on each subtask individually, ultimately leading to a more accurate overall outcome.

Advanced Prompting Strategies

Few-Shot Prompting: Providing the LLM with a few examples of desired input-output pairs guides it towards generating higher-quality responses by demonstrating the expected pattern. Learn more about few-shot prompting here.

Chain-of-Thought Prompting: Encouraging the model to "think step-by-step" by explicitly prompting it to break down complex tasks into intermediate reasoning steps enhances its ability to solve problems that require logical deduction. Learn more about chain-of-thought prompting here.

ReAct (Reason + Act): This method focuses on eliciting advanced reasoning, planning, and even tool use from the LLM. By structuring prompts to encourage these capabilities, developers can unlock more sophisticated and powerful applications. Learn more about ReAct here.

Conclusion

Effective prompt design is crucial for harnessing the full potential of LLMs. By adhering to best practices like specificity, structured formatting, task decomposition, and leveraging advanced techniques like few-shot, chain-of-thought, and ReAct prompting, developers can significantly improve the quality, accuracy, and complexity of outputs generated by these powerful LLMs.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com


Thứ Ba, 25 tháng 11, 2025

Hội thảo ‘Chuyển đổi số và trí tuệ nhân tạo’ tại Trường Cao đẳng Lào Cai, 26/11/2025


Hiệp hội Giáo dục Nghề nghiệp và Nghề Công tác Xã hội Việt Nam - Văn phòng đại diện tại thành phố Hồ Chí Minh; Viện nghiên cứu và Đào tạo và Phát triển tài nguyên giáo dục mở (InOER) tổ chức Tọa đàm ‘Chuyển đổi số và trí tuệ nhân tạo’ trong ngày 26/11/2025 tại Trường Cao đẳng Lào Cai.

Tải về các bài trình chiếu tại Hội thảo:

  1. Chuyển đổi số: Năng lực số, văn hóa số và giải pháp mở là điều kiện tiên quyết để thành công: https://zenodo.org/records/16626496

  2. Ứng dụng AI trong Giáo dục Nghề nghiệp - Kinh nghiệm từ bên ngoài: https://www.dropbox.com/scl/fi/ofucygb1orobtereqoa8q/AI_in_TVET_V1.2.pdf?rlkey=1kjcro1dw8y22iw4xlu3vstgf&st=tvid42fh&dl=0

X (Tweet): https://x.com/nghiafoss/status/1993509980595716353

Xem thêm:

Blogger: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Hai, 24 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Các tác nhân. Các thành phần của tác nhân


Agent Components

Theo: https://www.promptingguide.ai/agents/components

Các tác nhân đòi hỏi 3 năng lực cơ bản để xử lý hiệu quả các nhiệm vụ phức tạp: khả năng lập kế hoạch, sử dụng công cụ, và quản lý bộ nhớ. Hãy cùng tìm hiểu cách các thành phần này hoạt động cùng nhau để tạo ra các tác nhân AI có chức năng.


Lập kế hoạch: Bộ não của tác nhân

Cốt lõi của bất kỳ tác nhân AI hiệu quả nào là khả năng lập kế hoạch, được hỗ trợ bởi các mô hình ngôn ngữ lớn (LLM). Các LLM hiện đại cho phép một số chức năng lập kế hoạch quan trọng:

  • Phân tích nhiệm vụ thông qua suy luận chuỗi suy nghĩ

  • Tự phản ánh về các hành động và thông tin trong quá khứ

  • Học tập thích ứng để cải thiện các quyết định trong tương lai

  • Phân tích có phản biện tiến độ hiện tại

Mặc dù khả năng lập kế hoạch của LLM hiện tại chưa hoàn hảo, nhưng chúng rất cần thiết để hoàn thành nhiệm vụ. Nếu không có khả năng lập kế hoạch mạnh mẽ, một tác nhân không thể tự động hóa hiệu quả các tác vụ phức tạp, điều này làm mất đi mục đích chính của nó.

Sử dụng công cụ: Mở rộng khả năng của tác nhân

Thành phần quan trọng thứ hai là khả năng tương tác của tác nhân với các công cụ bên ngoài. Một tác nhân được thiết kế tốt không chỉ phải có quyền truy cập vào nhiều công cụ khác nhau mà còn phải hiểu khi nào và cách sử dụng chúng một cách phù hợp. Các công cụ phổ biến bao gồm:

  • Trình thông dịch mã và môi trường thực thi

  • Tiện ích tìm kiếm và thu thập dữ liệu trên web

  • Máy tính toán học

  • Hệ thống tạo hình ảnh

Các công cụ này cho phép tác nhân thực hiện các hành động đã lên kế hoạch, biến các chiến lược trừu tượng thành kết quả cụ thể. Khả năng hiểu được lựa chọn công cụ và thời điểm của LLM là rất quan trọng để xử lý các tác vụ phức tạp một cách hiệu quả.

Hệ thống bộ nhớ: Lưu giữ và sử dụng thông tin

Thành phần thiết yếu thứ ba là quản lý bộ nhớ, có hai dạng chính:

  1. Bộ nhớ (làm việc) ngắn hạn

    • Hoạt động như một bộ nhớ đệm cho ngữ cảnh tức thời

    • Cho phép học tập theo ngữ cảnh

    • Đủ cho việc hoàn thành hầu hết các nhiệm vụ

    • Giúp duy trì tính liên tục trong quá trình lặp lại nhiệm vụ

  2. Bộ nhớ dài hạn

    • Được triển khai thông qua các kho lưu trữ vectơ bên ngoài

    • Cho phép truy xuất nhanh chóng thông tin lịch sử

    • Có giá trị cho việc hoàn thành nhiệm vụ trong tương lai

    • Ít được triển khai hơn nhưng có khả năng rất quan trọng cho các phát triển trong tương lai

Hệ thống bộ nhớ cho phép các tác nhân lưu trữ và truy xuất thông tin thu thập được từ các công cụ bên ngoài, cho phép cải tiến liên tục và xây dựng dựa trên kiến thức trước đó.

Sự đồng vận giữa khả năng lập kế hoạch, sử dụng công cụ và hệ thống bộ nhớ tạo nên nền tảng cho các tác nhân AI hiệu quả. Mặc dù mỗi thành phần đều có những hạn chế hiện tại, việc hiểu rõ các khả năng cốt lõi này là rất quan trọng để phát triển và làm việc với các tác nhân AI. Khi công nghệ phát triển, chúng ta có thể thấy các loại bộ nhớ và khả năng mới xuất hiện, nhưng ba trụ cột này có thể sẽ vẫn là nền tảng cơ bản cho kiến trúc tác nhân AI.

Về ‘Các tác nhân’ ………. Phần trước ………. Phần tiếp theo

AI agents require three fundamental capabilities to effectively tackle complex tasks: planning abilities, tool utilization, and memory management. Let's dive into how these components work together to create functional AI agents.

Planning: The Brain of the Agent

At the core of any effective AI agent is its planning capability, powered by large language models (LLMs). Modern LLMs enable several crucial planning functions:

  • Task decomposition through chain-of-thought reasoning

  • Self-reflection on past actions and information

  • Adaptive learning to improve future decisions

  • Critical analysis of current progress

While current LLM planning capabilities aren't perfect, they're essential for task completion. Without robust planning abilities, an agent cannot effectively automate complex tasks, which defeats its primary purpose.

Tool Utilization: Extending the Agent's Capabilities

The second critical component is an agent's ability to interface with external tools. A well-designed agent must not only have access to various tools but also understand when and how to use them appropriately. Common tools include:

  • Code interpreters and execution environments

  • Web search and scraping utilities

  • Mathematical calculators

  • Image generation systems

These tools enable the agent to execute its planned actions, turning abstract strategies into concrete results. The LLM's ability to understand tool selection and timing is crucial for handling complex tasks effectively.

Memory Systems: Retaining and Utilizing Information

The third essential component is memory management, which comes in two primary forms:

  1. Short-term (Working) Memory

    • Functions as a buffer for immediate context

    • Enables in-context learning

    • Sufficient for most task completions

    • Helps maintain continuity during task iteration

  2. Long-term Memory

    • Implemented through external vector stores

    • Enables fast retrieval of historical information

    • Valuable for future task completion

    • Less commonly implemented but potentially crucial for future developments

Memory systems allow agents to store and retrieve information gathered from external tools, enabling iterative improvement and building upon previous knowledge.

The synergy between planning capabilities, tool utilization, and memory systems forms the foundation of effective AI agents. While each component has its current limitations, understanding these core capabilities is crucial for developing and working with AI agents. As the technology evolves, we may see new memory types and capabilities emerge, but these three pillars will likely remain fundamental to AI agent architecture.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Chủ Nhật, 23 tháng 11, 2025

Hội thảo ‘Xây dựng nhà trường số dựa trên nền tảng năng lực số và ứng dụng công nghệ 4.0, AI’ tại Trường Cao đẳng Công nghệ - Năng lượng Khánh Hòa, 24/11/2025


Hiệp hội Giáo dục Nghề nghiệp và Nghề Công tác Xã hội Việt Nam - Văn phòng đại diện tại thành phố Hồ Chí Minh; Viện nghiên cứu, Đào tạo và Phát triển tài nguyên giáo dục mở (InOER) và Google For Education Việt Nam tổ chức Tọa đàm ‘Xây dựng nhà trường số dựa trên nền tảng năng lực số và ứng dụng công nghệ 4.0, AI’ trong ngày 24/11/2025 tại Trường Cao đẳng Công nghệ - Năng lượng Khánh Hòa.


Tải về các bài trình chiếu tại Hội thảo:

  1. Chuyển đổi số: Năng lực số, văn hóa số và giải pháp mở là điều kiện tiên quyết để thành công: https://zenodo.org/records/16626496

  2. Ứng dụng AI trong Giáo dục Nghề nghiệp - Kinh nghiệm từ bên ngoài: https://www.dropbox.com/scl/fi/ofucygb1orobtereqoa8q/AI_in_TVET_V1.2.pdf?rlkey=1kjcro1dw8y22iw4xlu3vstgf&st=tvid42fh&dl=0

X (Tweet): https://x.com/nghiafoss/status/1992795136187920459

Xem thêm:

Blogger: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Sáu, 21 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Các tác nhân. Giới thiệu các tác nhân AI


Introduction to AI Agents

Theo: https://www.promptingguide.ai/agents/introduction

Các tác nhân đang cách mạng hóa cách thức chúng ta tiếp cận các nhiệm vụ phức tạp, tận dụng sức mạnh của các mô hình ngôn ngữ lớn (LLM) để làm việc nhân danh chúng ta và đạt được những kết quả đáng chú ý. Trong hướng dẫn này, chúng ta sẽ đi sâu vào những nguyên tắc cơ bản của các tác nhân AI, khám phá khả năng, mô hình thiết kế và các ứng dụng tiềm năng của chúng.

Tác nhân là gì?


Trong hướng dẫn này, chúng tôi tham chiếu tới một tác nhân như một hệ thống LLM được thiết kế để hành động và giải quyết các nhiệm vụ phức tạp một cách tự chủ. Không giống như các LLM truyền thống, các tác nhân AI đi vượt ra khỏi sự tạo sinh văn bản đơn giản. Chúng được trang bị với các năng lực bổ sung, bao gồm:

  • Lập kế hoạch và phản ánh: Các tác nhân AI có thể phân tích vấn đề, chia nhỏ thành các bước và điều chỉnh cách tiếp cận dựa trên thông tin mới.

  • Truy cập công cụ: Chúng có thể tương tác với các công cụ và tài nguyên bên ngoài, chẳng hạn như cơ sở dữ liệu, giao diện lập trình ứng dụng (API) và các ứng dụng phần mềm, để thu thập thông tin và thực hiện hành động.

  • Bộ nhớ: Các tác nhân AI có thể lưu trữ và truy xuất thông tin, cho phép chúng học hỏi từ kinh nghiệm trong quá khứ và đưa ra quyết định sáng suốt hơn.

Bài giảng này thảo luận về khái niệm tác nhân AI và tầm quan trọng của chúng trong lĩnh vực trí tuệ nhân tạo.

Tại sao nên xây dựng với các tác nhân?

Mặc dù các mô hình ngôn ngữ lớn (LLM) vượt trội trong các nhiệm vụ đơn giản, hẹp như dịch thuật hoặc tạo email, nhưng chúng lại kém hiệu quả khi xử lý các nhiệm vụ phức tạp, rộng hơn, đòi hỏi nhiều bước, lập kế hoạch và lập luận. Những nhiệm vụ phức tạp này thường đòi hỏi phải truy cập vào các công cụ và thông tin bên ngoài nằm ngoài cơ sở kiến thức của LLM.

Ví dụ: việc phát triển chiến lược tiếp thị có thể bao gồm việc nghiên cứu đối thủ cạnh tranh, phân tích xu hướng thị trường và truy cập dữ liệu cụ thể của công ty. Những hành động này đòi hỏi thông tin thực tế, những hiểu biết mới nhất và dữ liệu nội bộ của công ty, những thứ mà một LLM độc lập có thể không có quyền truy cập.

Các tác nhân AI thu hẹp khoảng cách này bằng cách kết hợp các khả năng của LLM với các tính năng bổ sung như bộ nhớ, lập kế hoạch và các công cụ bên ngoài.

Bằng cách tận dụng những khả năng này, các tác nhân AI có thể giải quyết hiệu quả các nhiệm vụ phức tạp như:

  • Phát triển chiến lược tiếp thị

  • Lên kế hoạch sự kiện

  • Cung cấp hỗ trợ khách hàng

Các trường hợp sử dụng phổ biến của tác nhân AI

Dưới đây là danh sách (chưa đầy đủ) các trường hợp sử dụng phổ biến mà tác nhân đang được áp dụng trong ngành:

  • Hệ thống đề xuất: Cá nhân hóa đề xuất về sản phẩm, dịch vụ hoặc nội dung.

  • Hệ thống hỗ trợ khách hàng: Xử lý yêu cầu, giải quyết vấn đề & cung cấp hỗ trợ.

  • Nghiên cứu: Tiến hành điều tra chuyên sâu trên nhiều lĩnh vực khác nhau, chẳng hạn như pháp lý, tài chính và y tế.

  • Ứng dụng thương mại điện tử: Tạo điều kiện thuận lợi cho trải nghiệm mua sắm trực tuyến, quản lý đơn hàng và cung cấp các đề xuất được cá nhân hóa.

  • Đặt chỗ: Hỗ trợ sắp xếp chuyến đi và lập kế hoạch sự kiện.

  • Báo cáo: Phân tích lượng lớn dữ liệu và tạo báo cáo toàn diện.

  • Phân tích tài chính: Phân tích xu hướng thị trường, đánh giá dữ liệu tài chính và tạo báo cáo với tốc độ và độ chính xác chưa từng có.

Về ‘Các tác nhân’ ………. Phần tiếp theo

Agents are revolutionizing the way we approach complex tasks, leveraging the power of large language models (LLMs) to work on our behalf and achieve remarkable results. In this guide we will dive into the fundamentals of AI agents, exploring their capabilities, design patterns, and potential applications.

What is an Agent?

In this guide, we refer to an agent as an LLM-powered system designed to take actions and solve complex tasks autonomously. Unlike traditional LLMs, AI agents go beyond simple text generation. They are equipped with additional capabilities, including:

  • Planning and reflection: AI agents can analyze a problem, break it down into steps, and adjust their approach based on new information.

  • Tool access: They can interact with external tools and resources, such as databases, APIs, and software applications, to gather information and execute actions.

  • Memory: AI agents can store and retrieve information, allowing them to learn from past experiences and make more informed decisions.

This lecture discusses the concept of AI agents and their significance in the realm of artificial intelligence.

Why build with Agents?

While large language models (LLMs) excel at simple, narrow tasks like translation or email generation, they fall short when dealing with complex, broader tasks that require multiple steps, planning, and reasoning. These complex tasks often necessitate access to external tools and information beyond the LLM's knowledge base.

For example, developing a marketing strategy might involve researching competitors, analyzing market trends, and accessing company-specific data. These actions necessitate real-world information, the latest insights, and internal company data, which a standalone LLM might not have access to.

AI agents bridge this gap by combining the capabilities of LLMs with additional features such as memory, planning, and external tools.

By leveraging these abilities, AI agents can effectively tackle complex tasks like:

  • Developing marketing strategies

  • Planning events

  • Providing customer support

Common Use Cases for AI Agents

Here is a non-exhaustive list of common use cases where agents are being applied in the industry:

  • Recommendation systems: Personalizing suggestions for products, services, or content.

  • Customer support systems: Handling inquiries, resolving issues, and providing assistance.

  • Research: Conducting in-depth investigations across various domains, such as legal, finance, and health.

  • E-commerce applications: Facilitating online shopping experiences, managing orders, and providing personalized recommendations.

  • Booking: Assisting with travel arrangements and event planning.

  • Reporting: Analyzing vast amounts of data and generating comprehensive reports.

  • Financial analysis: Analyzing market trends, assess financial data, and generate reports with unprecedented speed and accuracy.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Năm, 20 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Các tác nhân


Agents

Theo: https://www.promptingguide.ai/agents

Trong phần này, chúng tôi cung cấp tổng quan về các tác nhân ngôn ngữ, bao gồm định nghĩa, mẫu thiết kế phổ biến, mẹo và ứng dụng.

Về mục lục ………. Phần tiếp theo

In this section, we provide an overview of language agents, including definitions, common design patterns, tips, and applications.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Tư, 19 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Lời nhắc bằng đồ họa


GraphPrompts

Theo: https://www.promptingguide.ai/techniques/graph

Liu và cộng sự, 2023 giới thiệu GraphPrompt, một khuôn khổ gợi ý mới cho đồ thị nhằm cải thiện hiệu suất cho các tác vụ hạ nguồn.

Sắp có thêm nhiều nội dung mới!

Về ‘Kỹ thuật viết lời nhắc’ ………. Phần trước ………. Phần tiếp theo

Liu et al., 2023 introduces GraphPrompt, a new prompting framework for graphs to improve performance on downstream tasks.

More coming soon!

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Ba, 18 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Lời nhắc CoT Đa phương thức


Multimodal CoT Prompting

Theo: https://www.promptingguide.ai/techniques/multimodalcot

Zhang và cộng sự (2023) gần đây đã đề xuất một phương pháp gợi ý chuỗi tư duy - CoT (Chain-of-thought) đa phương thức. CoT truyền thống tập trung vào phương thức ngôn ngữ. Ngược lại, CoT đa phương thức kết hợp văn bản và hình ảnh vào một khuôn khổ hai giai đoạn. Bước đầu tiên liên quan đến việc tạo ra cơ sở lý luận dựa trên thông tin đa phương thức. Tiếp theo là giai đoạn thứ hai, suy luận câu trả lời, tận dụng các cơ sở lý luận mang tính thông tin được tạo ra.

Mô hình CoT đa phương thức (1B) vượt trội hơn GPT-3.5 trên tiêu chuẩn ScienceQA.


Image Source: Zhang et al. (2023)

Đọc thêm:

Về ‘Kỹ thuật viết lời nhắc’ ………. Phần trước ………. Phần tiếp theo

Zhang et al. (2023) recently proposed a multimodal chain-of-thought prompting approach. Traditional CoT focuses on the language modality. In contrast, Multimodal CoT incorporates text and vision into a two-stage framework. The first step involves rationale generation based on multimodal information. This is followed by the second phase, answer inference, which leverages the informative generated rationales.

The multimodal CoT model (1B) outperforms GPT-3.5 on the ScienceQA benchmark.

Further reading:

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Thứ Hai, 17 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Phản xạ


Reflexion

Theo: https://www.promptingguide.ai/techniques/reflexion

Phản xạ là một khuôn khổ để củng cố các tác nhân dựa trên ngôn ngữ thông qua phản hồi ngôn ngữ. Theo Shinn và cộng sự (2023), "Phản xạ là một mô hình mới cho việc củng cố 'bằng lời nói', tham số hóa chính sách thành mã hóa bộ nhớ của tác nhân kết hợp với các tham số LLM được lựa chọn."

Ở cấp độ cao, Phản xạ chuyển đổi phản hồi (dạng ngôn ngữ tự do hoặc dạng vô hướng) từ môi trường thành phản hồi ngôn ngữ, còn được gọi là tự phản xạ (self-reflection), được cung cấp làm bối cảnh cho tác nhân LLM trong hành động tiếp theo. Điều này giúp tác nhân học hỏi nhanh chóng và hiệu quả từ những sai lầm trước đó, dẫn đến cải thiện hiệu suất trong nhiều tác vụ nâng cao.

Như được minh họa trong hình ở trên, Reflexion gồm 3 mô hình riêng biệt:

  • Một Actor (Người hành động): Tạo văn bản và hành động dựa trên các quan sát trạng thái. Actor thực hiện một hành động trong môi trường và nhận được một quan sát, từ đó tạo ra một quỹ đạo. Chuỗi Tư duy - CoT (Chain-of-Thought) và ReAct được sử dụng làm mô hình Actor. Một thành phần bộ nhớ cũng được thêm vào để cung cấp thêm ngữ cảnh cho tác nhân.

  • Một Evaluator (Người đánh giá): Chấm điểm các kết quả đầu ra do Actor tạo ra. Cụ thể, nó lấy đầu vào là một quỹ đạo đã được tạo ra (còn được gọi là bộ nhớ ngắn hạn) và đưa ra điểm thưởng. Các hàm thưởng khác nhau được sử dụng tùy thuộc vào nhiệm vụ (LLM và phương pháp tìm kiếm dựa trên quy tắc được sử dụng cho các nhiệm vụ ra quyết định).

  • Tự phản ánh (Self-Reflection): Tạo ra các tín hiệu củng cố bằng lời nói để hỗ trợ Actor trong việc tự cải thiện. Vai trò này được thực hiện bởi một LLM và cung cấp phản hồi có giá trị cho các thử nghiệm trong tương lai. Để tạo ra phản hồi cụ thể và có liên quan, điều cũng được lưu trữ trong bộ nhớ, mô hình tự phản ánh sử dụng tín hiệu thưởng, quỹ đạo hiện tại và bộ nhớ liên tục của nó. Những kinh nghiệm này (được lưu trữ trong bộ nhớ dài hạn) được tác nhân tận dụng để cải thiện nhanh chóng quá trình ra quyết định.

Tóm lại, các bước chính của quy trình Reflexion là a) xác định một nhiệm vụ, b) tạo một quỹ đạo, c) đánh giá, d) thực hiện phản ánh, và e) tạo quỹ đạo tiếp theo. Hình dưới đây minh họa các ví dụ về cách một tác nhân Reflexion có thể học cách tối ưu hóa hành vi của mình theo từng bước lặp để giải quyết các nhiệm vụ khác nhau như ra quyết định, lập trình và suy luận. Reflexion mở rộng khuôn khổ ReAct bằng cách giới thiệu các thành phần tự đánh giá, tự phản ánh và bộ nhớ.

Kết quả

Kết quả thử nghiệm chứng minh rằng các tác nhân Reflexion cải thiện đáng kể hiệu suất trong các tác vụ ra quyết định AlfWorld, các câu hỏi suy luận trong HotPotQA và các tác vụ lập trình Python trên HumanEval.

Khi được đánh giá trên các tác vụ ra quyết định tuần tự (AlfWorld), ReAct + Reflexion vượt trội hơn đáng kể so với ReAct khi hoàn thành 130/134 tác vụ bằng các kỹ thuật tự đánh giá Heuristic và GPT để phân loại nhị phân.

Reflexion vượt trội hơn hẳn so với tất cả các phương pháp cơ bản qua nhiều bước học. Chỉ áp dụng cho suy luận và khi thêm bộ nhớ theo giai đoạn bao gồm quỹ đạo gần nhất, Reflexion + CoT vượt trội hơn so với việc chỉ áp dụng CoT và CoT kết hợp với bộ nhớ theo giai đoạn.

Như tóm tắt trong bảng dưới đây, Reflexion nhìn chung vượt trội hơn các phương pháp tiên tiến trước đây về viết mã Python và Rust trên MBPP, HumanEval và Leetcode Hard.

Khi nào sử dụng Reflexion?

Reflexion phù hợp nhất cho các trường hợp sau:

  1. Tác nhân cần học hỏi từ quá trình thử và sai: Reflexion được thiết kế để giúp tác nhân cải thiện hiệu suất bằng cách suy ngẫm về những sai lầm trong quá khứ và kết hợp kiến thức đó vào các quyết định trong tương lai. Điều này làm cho nó phù hợp với các nhiệm vụ mà tác nhân cần học hỏi thông qua quá trình thử và sai, chẳng hạn như ra quyết định, suy luận và lập trình.

  2. Các phương pháp học tăng cường - RL (Reinforcement Learning) truyền thống không thực tế: Các phương pháp học tăng cường (RL) truyền thống thường yêu cầu dữ liệu huấn luyện phong phú và tinh chỉnh mô hình tốn kém. Reflexion cung cấp một giải pháp thay thế nhẹ nhàng, không yêu cầu tinh chỉnh mô hình ngôn ngữ cơ bản, giúp nó hiệu quả hơn về mặt dữ liệu và tài nguyên tính toán.

  3. Cần có phản hồi có sắc thái: Reflexion sử dụng phản hồi bằng lời nói, có thể có sắc thái và cụ thể hơn so với phần thưởng vô hướng được sử dụng trong RL truyền thống. Điều này cho phép tác nhân hiểu rõ hơn về những sai lầm của mình và thực hiện các cải tiến có mục tiêu hơn trong các lần thử tiếp theo.

  4. Khả năng diễn giải và trí nhớ rõ ràng rất quan trọng: Reflexion cung cấp một dạng trí nhớ theo giai đoạn dễ diễn giải và rõ ràng hơn so với các phương pháp RL truyền thống. Quá trình tự phản ánh của tác nhân được lưu trữ trong bộ nhớ, cho phép phân tích và hiểu rõ hơn về quá trình học tập của nó.

Reflexion hiệu quả trong các tác vụ sau:

  • Ra quyết định tuần tự: Các tác nhân Reflexion cải thiện hiệu suất của chúng trong các tác vụ AlfWorld, bao gồm việc điều hướng qua nhiều môi trường khác nhau và hoàn thành các mục tiêu nhiều bước.

  • Suy luận: Reflexion đã cải thiện hiệu suất của các tác nhân trên HotPotQA, một tập dữ liệu trả lời câu hỏi yêu cầu suy luận trên nhiều tài liệu.

  • Lập trình: Các tác nhân Reflexion viết mã tốt hơn trên các điểm chuẩn như HumanEval và MBPP, đạt được kết quả tiên tiến trong một số trường hợp.

Dưới đây là một số hạn chế của Reflexion:

  • Dựa vào khả năng tự đánh giá: Reflexion dựa vào khả năng của tác nhân trong việc đánh giá chính xác hiệu suất của nó và tạo ra các phản ánh tự phản ánh hữu ích. Điều này có thể là một thách thức, đặc biệt là đối với các tác vụ phức tạp, nhưng dự kiến Reflexion sẽ ngày càng tốt hơn theo thời gian khi các mô hình tiếp tục cải thiện khả năng.

  • Hạn chế về bộ nhớ dài hạn: Reflexion sử dụng cửa sổ trượt với dung lượng tối đa, nhưng đối với các tác vụ phức tạp hơn, việc sử dụng các cấu trúc nâng cao như nhúng vector hoặc cơ sở dữ liệu SQL có thể mang lại lợi thế.

  • Hạn chế về tạo mã: Phát triển hướng kiểm thử có những hạn chế trong việc chỉ định các ánh xạ đầu vào-đầu ra chính xác (ví dụ: hàm tạo không xác định và đầu ra hàm bị ảnh hưởng bởi phần cứng).

Nguồn hình ảnh: Reflexion: Tác nhân Ngôn ngữ với Học Tăng cường Bằng Lời

Tài liệu tham khảo

Về ‘Kỹ thuật viết lời nhắc’ ………. Phần trước ………. Phần tiếp theo

Reflexion is a framework to reinforce language-based agents through linguistic feedback. According to Shinn et al. (2023), "Reflexion is a new paradigm for ‘verbal‘ reinforcement that parameterizes a policy as an agent’s memory encoding paired with a choice of LLM parameters."

At a high level, Reflexion converts feedback (either free-form language or scalar) from the environment into linguistic feedback, also referred to as self-reflection, which is provided as context for an LLM agent in the next episode. This helps the agent rapidly and effectively learn from prior mistakes leading to performance improvements on many advanced tasks.

As shown in the figure above, Reflexion consists of three distinct models:

  • An Actor: Generates text and actions based on the state observations. The Actor takes an action in an environment and receives an observation which results in a trajectory. Chain-of-Thought (CoT) and ReAct are used as Actor models. A memory component is also added to provide additional context to the agent.

  • An Evaluator: Scores outputs produced by the Actor. Concretely, it takes as input a generated trajectory (also denoted as short-term memory) and outputs a reward score. Different reward functions are used depending on the task (LLMs and rule-based heuristics are used for decision-making tasks).

  • Self-Reflection: Generates verbal reinforcement cues to assist the Actor in self-improvement. This role is achieved by an LLM and provides valuable feedback for future trials. To generate specific and relevant feedback, which is also stored in memory, the self-reflection model makes use of the reward signal, the current trajectory, and its persistent memory. These experiences (stored in long-term memory) are leveraged by the agent to rapidly improve decision-making.

In summary, the key steps of the Reflexion process are a) define a task, b) generate a trajectory, c) evaluate, d) perform reflection, and e) generate the next trajectory. The figure below demonstrates examples of how a Reflexion agent can learn to iteratively optimize its behavior to solve various tasks such as decision-making, programming, and reasoning. Reflexion extends the ReAct framework by introducing self-evaluation, self-reflection and memory components.

Results

Experimental results demonstrate that Reflexion agents significantly improve performance on decision-making AlfWorld tasks, reasoning questions in HotPotQA, and Python programming tasks on HumanEval.

When evaluated on sequential decision-making (AlfWorld) tasks, ReAct + Reflexion significantly outperforms ReAct by completing 130/134 tasks using self-evaluation techniques of Heuristic and GPT for binary classification.

Reflexion significantly outperforms all baseline approaches over several learning steps. For reasoning only and when adding an episodic memory consisting of the most recent trajectory, Reflexion + CoT outperforms CoT only and CoT with episodic memory, respectively.

As summarized in the table below, Reflexion generally outperforms the previous state-of-the-art approaches on Python and Rust code writing on MBPP, HumanEval, and Leetcode Hard.

When to Use Reflexion?

Reflexion is best suited for the following:

  1. An agent needs to learn from trial and error: Reflexion is designed to help agents improve their performance by reflecting on past mistakes and incorporating that knowledge into future decisions. This makes it well-suited for tasks where the agent needs to learn through trial and error, such as decision-making, reasoning, and programming.

  2. Traditional reinforcement learning methods are impractical: Traditional reinforcement learning (RL) methods often require extensive training data and expensive model fine-tuning. Reflexion offers a lightweight alternative that doesn't require fine-tuning the underlying language model, making it more efficient in terms of data and compute resources.

  3. Nuanced feedback is required: Reflexion utilizes verbal feedback, which can be more nuanced and specific than scalar rewards used in traditional RL. This allows the agent to better understand its mistakes and make more targeted improvements in subsequent trials.

  4. Interpretability and explicit memory are important: Reflexion provides a more interpretable and explicit form of episodic memory compared to traditional RL methods. The agent's self-reflections are stored in its memory, allowing for easier analysis and understanding of its learning process.

Reflexion is effective in the following tasks:

  • Sequential decision-making: Reflexion agents improve their performance in AlfWorld tasks, which involve navigating through various environments and completing multi-step objectives.

  • Reasoning: Reflexion improved the performance of agents on HotPotQA, a question-answering dataset that requires reasoning over multiple documents.

  • Programming: Reflexion agents write better code on benchmarks like HumanEval and MBPP, achieving state-of-the-art results in some cases.

Here are some limitations of Reflexion:

  • Reliance on self-evaluation capabilities: Reflexion relies on the agent's ability to accurately evaluate its performance and generate useful self-reflections. This can be challenging, especially for complex tasks but it's expected that Reflexion gets better over time as models keep improving in capabilities.

  • Long-term memory constraints: Reflexion makes use of a sliding window with maximum capacity but for more complex tasks it may be advantageous to use advanced structures such as vector embedding or SQL databases.

  • Code generation limitations: There are limitations to test-driven development in specifying accurate input-output mappings (e.g., non-deterministic generator function and function outputs influenced by hardware).

Figures source: Reflexion: Language Agents with Verbal Reinforcement Learning

References

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Chủ Nhật, 16 tháng 11, 2025

Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Lời nhắc Tái Hành động (ReAct)


ReAct Prompting

Theo: https://www.promptingguide.ai/techniques/react

Yao và cộng sự, 2022 đã giới thiệu một khuôn khổ có tên ReAct, trong đó các mô hình ngôn ngữ lớn - LLM (Large Language Model) được sử dụng để tạo ra cả dấu vết suy luậncác hành động cụ thể theo nhiệm vụ một cách đan xen.

Việc tạo ra dấu vết suy luận cho phép mô hình tạo ra, theo dõi và cập nhật các kế hoạch hành động, và thậm chí xử lý các trường hợp ngoại lệ. Bước hành động này cho phép giao tiếp và thu thập thông tin từ các nguồn bên ngoài như cơ sở kiến thức hoặc môi trường.

Khuôn khổ ReAct có thể cho phép các LLM tương tác với các công cụ bên ngoài để thu thập thêm thông tin, dẫn đến các phản hồi đáng tin cậy và thực tế hơn.

Kết quả cho thấy ReAct có thể vượt trội hơn một số nền tảng tiên tiến về ngôn ngữ và các nhiệm vụ ra quyết định. ReAct cũng giúp cải thiện khả năng diễn giải và độ tin cậy của LLM đối với con người. Nhìn chung, các tác giả nhận thấy rằng phương pháp tiếp cận tốt nhất là sử dụng ReAct kết hợp với chuỗi tư duy - CoT (Chain-of-thought), cho phép sử dụng cả kiến thức nội bộ và thông tin bên ngoài thu được trong quá trình suy luận.

Cách thức hoạt động?

ReAct được lấy cảm hứng từ sự đồng vận giữa "hành động" và "lý luận", cho phép con người học các nhiệm vụ mới và đưa ra quyết định hoặc lý luận.

Phương pháp lời nhắc chuỗi tư duy (CoT) đã cho thấy khả năng của LLM trong việc thực hiện các dấu vết suy luận để tạo ra câu trả lời cho các câu hỏi liên quan đến số học và suy luận thông thường, cùng với các nhiệm vụ khác (Wei và cộng sự, 2022). Tuy nhiên, việc thiếu khả năng tiếp cận thế giới bên ngoài hoặc không thể cập nhật kiến thức có thể dẫn đến các vấn đề như ảo giác sự thật và lan truyền lỗi.

ReAct là một mô hình chung kết hợp suy luận và hành động với LLM. ReAct gợi ý cho LLM tạo ra các dấu vết lý luận bằng lời nói và hành động cho một nhiệm vụ. Điều này cho phép hệ thống thực hiện việc suy luận động để tạo lập, duy trì và điều chỉnh các kế hoạch hành động, đồng thời cho phép tương tác với môi trường bên ngoài (ví dụ: Wikipedia) để kết hợp thông tin bổ sung vào suy luận. Hình dưới đây minh họa một ví dụ về ReAct và các bước khác nhau liên quan để thực hiện trả lời câu hỏi.

Image Source: Yao et al., 2022

Trong ví dụ trên, chúng ta truyền một lời nhắc như câu hỏi sau đây từ HotpotQA:

Ngoài Apple Remote, còn có thiết bị nào khác có thể kiểm soát chương trình mà Apple Remote ban đầu được thiết kế để tương tác hay không? (Aside from the Apple Remote, what other devices can control the program Apple Remote was originally designed to interact with?)

Lưu ý rằng các ví dụ trong ngữ cảnh đó cũng được thêm vào lời nhắc, nhưng chúng tôi loại trừ điều đó ở đây để đơn giản hóa. Chúng ta có thể thấy rằng mô hình tạo ra các quỹ đạo giải quyết nhiệm vụ (Suy nghĩ, Hành động). Quan sát tương ứng với quan sát từ môi trường đang được tương tác (ví dụ: Công cụ tìm kiếm). Về bản chất, ReAct có thể truy xuất thông tin để hỗ trợ suy luận, trong khi suy luận giúp xác định mục tiêu cần truy xuất tiếp theo.

Lời nhắc ReAct

Để minh họa cách thức hoạt động của lời nhắc ReAct, hãy xem xét một ví dụ từ bài báo.

Bước đầu tiên là chọn các trường hợp từ tập huấn luyện (ví dụ: HotPotQA) và tạo ra các quỹ đạo định dạng ReAct. Chúng được sử dụng như các ví dụ mẫu trong các lời nhắc. Các quỹ đạo bao gồm nhiều bước suy nghĩ-hành động-quan sát như được hiển thị trong hình trên. Các suy nghĩ dạng tự do được sử dụng để hoàn thành các nhiệm vụ khác nhau như phân tích câu hỏi, trích xuất thông tin, thực hiện suy luận thông thường/số học, hướng dẫn việc tìm kiếm và tổng hợp câu trả lời cuối cùng.

Sau đây là một ví dụ về hình thức của lời nhắc ReAct (lấy từ bài báo và rút gọn thành một ví dụ để đơn giản hơn):

Câu hỏi Phạm vi độ cao của khu vực mà phần phía đông của tạo núi Colorado kéo dài đến là bao nhiêu?
Suy nghĩ 1 Tôi cần tìm kiếm tạo núi Colorado, tìm khu vực mà phần phía đông của tạo núi Colorado kéo dài đến, sau đó tìm phạm vi độ cao của khu vực đó.
Hành động 1 Tìm kiếm [tạo núi Colorado]
Quan sát 1 Tạo núi Colorado là một giai đoạn kiến tạo núi (tạo núi) ở Colorado và các khu vực xung quanh.
Suy nghĩ 2 Nó không đề cập đến phần phía đông. Vì vậy, tôi cần tra cứu phần phía đông.
Hành động 2 Tra cu [phần phía đông]
Quan sát 2 (Kết quả 1 / 1) Phần phía đông kéo dài đến Cao nguyên và được gọi là tạo núi Đồng bằng Trung tâm.
Suy nghĩ 3 Phần phía đông của tạo núi Colorado kéo dài đến Cao nguyên. Vì vậy, tôi cần tìm kiếm Cao nguyên và tìm phạm vi độ cao của nó.
Hành động 3 Tìm kiếm [Vùng Cao]
Quan sát 3 Vùng Cao đề cập đến một trong hai vùng đất riêng biệt
Suy nghĩ 4 Thay vào đó, tôi cần tìm kiếm Vùng Cao (Hoa Kỳ).
Hành động 4 Tìm kiếm [Vùng Cao (Hoa Kỳ)]
Quan sát 4 Vùng Cao là mt tiu vùng ca Đại Bình nguyên. Từ đông sang tây, vùng Cao cao tăng dn độ cao tkhong 1.800 đến 7.000 ft (550 đến 2.130 m).[3]
Suy nghĩ 5 Vùng Cao tăng dần độ cao từ khoảng 1.800 đến 7.000 ft, vì vậy đáp án là 1.800 đến 7.000 ft.
...

Lưu ý rằng các thiết lập lời nhắc khác nhau được sử dụng cho các loại nhiệm vụ khác nhau. Đối với các nhiệm vụ mà suy luận là yếu tố quan trọng hàng đầu (ví dụ: HotpotQA), nhiều bước suy nghĩ-hành động-quan sát được sử dụng cho lộ trình giải quyết nhiệm vụ. Đối với các nhiệm vụ ra quyết định bao gồm nhiều bước hành động, suy nghĩ được sử dụng ít hơn.

Video: Building a ReAct AI Agent (Tutorial)

Kết quả các nhiệm vụ chuyên sâu về kiến thức

Bài báo đầu tiên đánh giá ReAct trong các nhiệm vụ suy luận chuyên sâu về kiến thức như trả lời câu hỏi (HotPotQA) và xác minh sự thật (Fever). PaLM-540B được sử dụng làm mô hình cơ sở cho việc nhắc.

Image Source: Yao et al., 2022

Kết quả của lời nhắc trong HotPotQA và Fever khi sử dụng các phương pháp nhắc khác nhau cho thấy ReAct nhìn chung hoạt động tốt hơn Act (chỉ bao gồm hành động) ở cả hai nhiệm vụ.

Chúng ta cũng có thể thấy ReAct hoạt động tốt hơn CoT trên Fever và chậm hơn CoT trên HotpotQA. Bài báo đã cung cấp một phân tích lỗi chi tiết. Tóm lại:

  • CoT bị ảo giác thực tế

  • Ràng buộc về cấu trúc của ReAct làm giảm tính linh hoạt trong việc xây dựng các bước suy luận

  • ReAct phụ thuộc rất nhiều vào thông tin mà nó đang thu thập; kết quả tìm kiếm không cung cấp thông tin sẽ làm chệch hướng suy luận của mô hình và dẫn đến khó khăn trong việc khôi phục và định hình lại các ý tưởng.

Các phương pháp lời nhắc kết hợp và hỗ trợ chuyển đổi giữa ReAct và CoT + Tự nhất quán thường hoạt động tốt hơn tất cả các phương pháp lời nhắc khác.

Kết quả trong các Nhiệm vụ Ra quyết định

Bài báo cũng báo cáo các kết quả chứng minh hiệu suất của ReAct trong các nhiệm vụ ra quyết định. ReAct được đánh giá dựa trên hai tiêu chuẩn là ALFWorld (trò chơi dựa trên văn bản) và WebShop (môi trường trang web mua sắm trực tuyến). Cả hai đều liên quan đến các môi trường phức tạp đòi hỏi khả năng suy luận để hành động và khám phá hiệu quả.

Lưu ý rằng các lời nhắc ReAct được thiết kế khác nhau cho các nhiệm vụ này nhưng vẫn giữ nguyên ý tưởng cốt lõi là kết hợp suy luận và hành động. Dưới đây là một ví dụ về bài toán ALFWorld liên quan đến lời nhắc ReAct.

Image Source: Yao et al., 2022

ReAct vượt trội hơn Act trên cả ALFWorld và Webshop. Hành động, nếu không có tư duy, sẽ không thể phân tích chính xác các mục tiêu thành các mục tiêu con. Suy luận dường như có lợi thế trong ReAct cho các loại nhiệm vụ này, nhưng các phương pháp dựa trên lời nhắc hiện tại vẫn còn kém xa hiệu suất của con người chuyên nghiệp trong các nhiệm vụ này.

Xem bài báo để biết kết quả chi tiết hơn.

Sử dụng LangChain ReAct

Dưới đây là một ví dụ cụ thể về cách thức hoạt động của phương pháp gợi ý ReAct trong thực tế. Chúng tôi sẽ sử dụng OpenAI cho LLM và LangChain vì nó đã có sẵn chức năng tích hợp tận dụng khung ReAct để xây dựng các tác nhân thực hiện nhiệm vụ bằng cách kết hợp sức mạnh của LLM và các công cụ khác nhau.

Trước tiên, hãy cài đặt và nhập các thư viện cần thiết:

%%capture
# cập nhật hoặc cài đặt các thư viện cần thiết
!pip install --upgrade openai
!pip install --upgrade langchain
!pip install --upgrade python-dotenv
!pip install google-search-results
 
# Nhập khẩu các thư viện
import openai
import os
from langchain.llms import OpenAI
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from dotenv import load_dotenv
load_dotenv()
# tải lên các khóa API; bạn sẽ cần lấy những khóa này nếu chưa có
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
os.environ["SERPER_API_KEY"] = os.getenv("SERPER_API_KEY")


Bây giờ chúng ta có thể cấu hình LLM, các công cụ chúng ta sẽ sử dụng và tác nhân cho phép chúng ta tận dụng khung ReAct cùng với LLM và các công cụ. Lưu ý rằng chúng ta đang sử dụng API tìm kiếm để tìm kiếm thông tin bên ngoài và LLM như một công cụ toán học.

llm = OpenAI(model_name="text-davinci-003" ,temperature=0)
tools = load_tools(["google-serper", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)

Sau khi cấu hình xong, chúng ta có thể chạy tác nhân với truy vấn/lời nhắc mong muốn. Lưu ý rằng ở đây chúng ta không cần cung cấp các ví dụ ít ỏi như đã giải thích trong bài báo.

agent.run("Bạn trai của Olivia Wilde là ai? Tuổi hiện tại của anh ấy là bao nhiêu lũy thừa 0,23?")

Chuỗi thực hiện trông như sau:

> Nhập vào chuỗi AgentExecutor mới... 
Tôi cần tìm ra bạn trai của Olivia Wilde là ai và sau đó tính tuổi của anh ấy lũy thừa 0,23.
Hành động: Tìm kiếm
Đầu vào hành động: “bạn trai của Olivia Wilde"
Quan sát thấy: Olivia Wilde bắt đầu hẹn hò với Harry Styles sau khi chấm dứt mối quan hệ kéo dài nhiều năm với Jason Sudeikis — xem dòng thời gian mối quan hệ của họ.
Suy luận: Tôi cần tìm ra tuổi của Harry Styles
Hành động: Tìm kiếm
Đầu vào hành động: “Tuổi của Harry Styles”
Quan sát thấy: 29 tuổi
Suy luận: Tôi cần tính 29 lũy thừa 0,23
Hành động: Tính toán
Đầu vào hành động:29^0.23
Quan sát thấy: Đáp án: 2.169459462491557
 
Suy luận: Giờ tôi đã biết đáp án cuối cùng.
Câu trả lời cuối cùng: Harry Styles, bạn trai của Olivia Wilde, 29 tuổi và tuổi của anh ấyy thừa 0,232,169459462491557. 
> Chuỗi đã hoàn thành.


Kết quả đầu ra chúng ta nhận được như sau:

"Harry Styles, bạn trai của Olivia Wilde, 29 tuổi và tuổi của anh ấy lũy thừa 0,23 là 2,169459462491557."

Chúng tôi đã điều chỉnh ví dụ từ tài liệu LangChain, vì vậy công lao thuộc về họ. Chúng tôi khuyến khích người học khám phá các cách kết hợp công cụ và nhiệm vụ khác nhau.

Bạn có thể tìm thấy sổ ghi chép cho mã này tại đây: https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/notebooks/react.ipynb

Về ‘Kỹ thuật viết lời nhắc’ ………. Phần trước ………. Phần tiếp theo

Yao et al., 2022 introduced a framework named ReAct where LLMs are used to generate both reasoning traces and task-specific actions in an interleaved manner.

Generating reasoning traces allow the model to induce, track, and update action plans, and even handle exceptions. The action step allows to interface with and gather information from external sources such as knowledge bases or environments.

The ReAct framework can allow LLMs to interact with external tools to retrieve additional information that leads to more reliable and factual responses.

Results show that ReAct can outperform several state-of-the-art baselines on language and decision-making tasks. ReAct also leads to improved human interpretability and trustworthiness of LLMs. Overall, the authors found that best approach uses ReAct combined with chain-of-thought (CoT) that allows use of both internal knowledge and external information obtained during reasoning.

How it Works?

ReAct is inspired by the synergies between "acting" and "reasoning" which allow humans to learn new tasks and make decisions or reasoning.

Chain-of-thought (CoT) prompting has shown the capabilities of LLMs to carry out reasoning traces to generate answers to questions involving arithmetic and commonsense reasoning, among other tasks (Wei et al., 2022). But its lack of access to the external world or inability to update its knowledge can lead to issues like fact hallucination and error propagation.

ReAct is a general paradigm that combines reasoning and acting with LLMs. ReAct prompts LLMs to generate verbal reasoning traces and actions for a task. This allows the system to perform dynamic reasoning to create, maintain, and adjust plans for acting while also enabling interaction to external environments (e.g., Wikipedia) to incorporate additional information into the reasoning. The figure below shows an example of ReAct and the different steps involved to perform question answering.

In the example above, we pass a prompt like the following question from HotpotQA:

Aside from the Apple Remote, what other devices can control the program Apple Remote was originally designed to interact with?

Note that in-context examples are also added to the prompt but we exclude that here for simplicity. We can see that the model generates task solving trajectories (Thought, Act). Obs corresponds to observation from the environment that's being interacted with (e.g., Search engine). In essence, ReAct can retrieve information to support reasoning, while reasoning helps to target what to retrieve next.

ReAct Prompting

To demonstrate how ReAct prompting works, let's follow an example from the paper.

The first step is to select cases from a training set (e.g., HotPotQA) and compose ReAct-format trajectories. These are used as few-shot exemplars in the prompts. The trajectories consist of multiple thought-action-observation steps as shown in the figure above. The free-form thoughts are used to achieve different tasks such as decomposing questions, extracting information, performing commonsense/arithmetic reasoning, guide search formulation, and synthesizing final answer.

Here is an example of what the ReAct prompt exemplars look like (obtained from the paper and shortened to one example for simplicity):

Question What is the elevation range for the area that the eastern sector of the Colorado orogeny extends into?
Thought 1 I need to search Colorado orogeny, find the area that the eastern sector of the Colorado orogeny extends into, then find the elevation range of the area.
Action 1 Search[Colorado orogeny]
Observation 1 The Colorado orogeny was an episode of mountain building (an orogeny) in Colorado and surrounding areas.
Thought 2 It does not mention the eastern sector. So I need to look up eastern sector.
Action 2 Lookup[eastern sector]
Observation 2 (Result 1 / 1) The eastern sector extends into the High Plains and is called the Central Plains orogeny.
Thought 3 The eastern sector of Colorado orogeny extends into the High Plains. So I need to search High Plains and find its elevation range.
Action 3 Search[High Plains]
Observation 3 High Plains refers to one of two distinct land regions
Thought 4 I need to instead search High Plains (United States).
Action 4 Search[High Plains (United States)]
Observation 4 The High Plains are a subregion of the Great Plains. From east to west, the High Plains rise in elevation from around 1,800 to 7,000 ft (550 to 2,130 m).[3]
Thought 5 High Plains rise in elevation from around 1,800 to 7,000 ft, so the answer is 1,800 to 7,000 ft.
Action 5 Finish[1,800 to 7,000 ft]
...

Note that different prompts setups are used for different types of tasks. For tasks where reasoning is of primary importance (e.g., HotpotQA), multiple thought-action-observation steps are used for the task-solving trajectory. For decision making tasks involving lots of action steps, thoughts are used sparsely.

Results on Knowledge-Intensive Tasks

The paper first evaluates ReAct on knowledge-intensive reasoning tasks such as question answering (HotPotQA) and fact verification (Fever). PaLM-540B is used as the base model for prompting

The prompting results on HotPotQA and Fever using different prompting methods show that ReAct generally performs better than Act (involves acting only) on both tasks.

We can also observe that ReAct outperforms CoT on Fever and lags behind CoT on HotpotQA. A detailed error analysis is provided in the paper. In summary:

  • CoT suffers from fact hallucination

  • ReAct's structural constraint reduces its flexibility in formulating reasoning steps

  • ReAct depends a lot on the information it's retrieving; non-informative search results derails the model reasoning and leads to difficulty in recovering and reformulating thoughts

Prompting methods that combine and support switching between ReAct and CoT+Self-Consistency generally outperform all the other prompting methods.

Results on Decision Making Tasks

The paper also reports results demonstrating ReAct's performance on decision making tasks. ReAct is evaluated on two benchmarks called ALFWorld (text-based game) and WebShop (online shopping website environment). Both involve complex environments that require reasoning to act and explore effectively.

Note that the ReAct prompts are designed differently for these tasks while still keeping the same core idea of combining reasoning and acting. Below is an example for an ALFWorld problem involving ReAct prompting.

ReAct outperforms Act on both ALFWorld and Webshop. Act, without any thoughts, fails to correctly decompose goals into subgoals. Reasoning seems to be advantageous in ReAct for these types of tasks but current prompting-based methods are still far from the performance of expert humans on these tasks.

Check out the paper for more detailed results.

LangChain ReAct Usage

Below is a high-level example of how the ReAct prompting approach works in practice. We will be using OpenAI for the LLM and LangChain as it already has built-in functionality that leverages the ReAct framework to build agents that perform tasks by combining the power of LLMs and different tools.

First, let's install and import the necessary libraries:

%%capture
# update or install the necessary libraries
!pip install --upgrade openai
!pip install --upgrade langchain
!pip install --upgrade python-dotenv
!pip install google-search-results
 
# import libraries
import openai
import os
from langchain.llms import OpenAI
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from dotenv import load_dotenv
load_dotenv()
 
# load API keys; you will need to obtain these if you haven't yet
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
os.environ["SERPER_API_KEY"] = os.getenv("SERPER_API_KEY")
 

Now we can configure the LLM, the tools we will use, and the agent that allows us to leverage the ReAct framework together with the LLM and tools. Note that we are using a search API for searching external information and LLM as a math tool.

llm = OpenAI(model_name="text-davinci-003" ,temperature=0)
tools = load_tools(["google-serper", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)

Once that's configured, we can now run the agent with the desired query/prompt. Notice that here we are not expected to provide few-shot exemplars as explained in the paper.

agent.run("Who is Olivia Wilde's boyfriend? What is his current age raised to the 0.23 power?")

The chain execution looks as follows:

> Entering new AgentExecutor chain...
 I need to find out who Olivia Wilde's boyfriend is and then calculate his age raised to the 0.23 power.
Action: Search
Action Input: "Olivia Wilde boyfriend"
Observation: Olivia Wilde started dating Harry Styles after ending her years-long engagement to Jason Sudeikis — see their relationship timeline.
Thought: I need to find out Harry Styles' age.
Action: Search
Action Input: "Harry Styles age"
Observation: 29 years
Thought: I need to calculate 29 raised to the 0.23 power.
Action: Calculator
Action Input: 29^0.23
Observation: Answer: 2.169459462491557
 
Thought: I now know the final answer.
Final Answer: Harry Styles, Olivia Wilde's boyfriend, is 29 years old and his age raised to the 0.23 power is 2.169459462491557.
 
> Finished chain.

The output we get is as follows:

"Harry Styles, Olivia Wilde's boyfriend, is 29 years old and his age raised to the 0.23 power is 2.169459462491557."

We adapted the example from the LangChain documentation, so credit goes to them. We encourage the learner to explore different combination of tools and tasks.

You can find the notebook for this code here: https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/notebooks/react.ipynb

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com