Agentic Workflow: Hiệu quả hơn nhờ 'mô phỏng' chuyên gia

Agentic Workflow cải thiện tương tác với LLM bằng cách tích hợp GenAI vào giai đoạn lập kế hoạch và thực thi, tự phân tích và lựa chọn hành động phù hợp, giúp quy trình linh hoạt, hiệu quả và nâng cao chất lượng kết quả.

Upload image

Agentic Workflow là gì?

Sự phát triển nhanh chóng của các mô hình ngôn ngữ lớn (LLM) đã giúp các lập trình viên thực hiện nhiều tác vụ một cách dễ dàng hơn. LLM có thể hỗ trợ viết code dựa trên yêu cầu cụ thể, tạo các bài kiểm tra chất lượng, hoặc viết tài liệu cho đoạn code, ...

Upload image

Sử dụng LLM hỗ trợ công việc

Trong hệ thống ứng dụng GenAI, một tác vụ sử dụng LLM thường được thực hiện theo quy trình: tạo câu prompt → gọi LLM API → nhận kết quả → thực hiện các bước tiếp theo. Chúng ta có thể cải thiện việc tương tác với LLM bằng kỹ thuật prompt engineering để tạo câu prompt tốt hơn, hoặc sử dụng Retrieval-Augmented Generation (RAG) để cung cấp thêm thông tin và ngữ cảnh cho LLM. Tuy nhiên, các bước trong quy trình xử lý thường được tạo cứng và ấn định từ trước bởi thiết kế của lập trình viên, dẫn đến việc phải cập nhật hệ thống khi cần thay đổi quy trình hoặc nâng cấp câu prompt.

Trong thực tế, một quy trình xử lý thường được thiết kế, hiện thực hóa và kiểm duyệt bởi nhiều chuyên gia ở các lĩnh vực khác nhau. Mỗi chuyên gia sẽ đánh giá và đưa ra quyết định ở mỗi giai đoạn, từ đó tạo ra sản phẩm cuối cùng.

Upload image

Chuyên gia thực hiện công việc chuyên môn

Ta có thể sử dụng LLM để 'đóng vai' từng chuyên gia. Với đầy đủ thông tin cần thiết, LLM có thể lên kế hoạch thực thi nhiệm vụ, đánh giá và hiệu chỉnh kết quả. Khi toàn bộ quy trình được tự động hóa, hệ thống có khả năng đưa ra quyết định mang tính chuyên môn nhằm tạo được kết quả tối ưu. Điều này không chỉ tiết kiệm thời gian mà còn nâng cao chất lượng công việc đáng kể.

Đó là ý tưởng cơ bản cho LLM-based Agentic Workflow. Mô hình Agentic Workflow được phát triển nhằm đưa AI vào ngay từ giai đoạn thiết kế quy trình xử lý. Không chỉ đơn thuần là chia nhỏ tác vụ thành nhiều bước, Agentic Workflow còn bao gồm lập kế hoạch chi tiết, viết hướng dẫn thực hiện, đánh giá kết quả, và lặp lại quá trình cho đến khi đạt được kết quả mong muốn.

Upload image

Ý tưởng LLM-based Agentic Workflow

Với Agentic Workflow, LLM không chỉ hỗ trợ thực hiện công việc mà còn có khả năng đề xuất các cải tiến và liên tục điều chỉnh để đạt được kết quả tối ưu. Điều này mang lại sự linh hoạt và hiệu quả, giúp tối ưu hóa quá trình làm việc mà không cần phải cập nhật hệ thống liên tục. Nhờ vậy, việc sử dụng AI để hỗ trợ công việc trở nên dễ dàng hơn, đem lại hiệu suất cao và khả năng thích ứng với nhiều yêu cầu khác nhau.

Lên kế hoạch thực thi

Agentic Workflow có hai loại kế hoạch thực thi là kế hoạch cố định và kế hoạch theo vòng phản hồi. Đây là một phần quan trọng, giúp phân chia nhiệm vụ phức tạp thành các nhiệm vụ con và xây dựng chiến lược hiệu quả.

Lập kế hoạch cố định: LLM sẽ đề ra từng bước cần thiết để trả lời câu hỏi của người dùng, sau đó tiến hành thực thi theo thứ tự. Mỗi bước có thể là tác vụ sử dụng công cụ, gọi API hoặc dùng LLM để tạo dữ liệu. Tùy theo độ phức tạp của bài toán mà ta có thể tạo một hay nhiều kế hoạch, thực thi, đánh giá và chọn kết quả có chất lượng nhất làm kết quả cuối cùng.

Upload image

Lập kế hoạch cố định

Lập kế hoạch theo vòng phản hồi: LLM sẽ tạo ra kết quả ban đầu, sau đó thực hiện quan sát, đánh giá và đề ra những điểm có thể cải thiện. Sau đó, hệ thống sử dụng các công cụ để thu thập thông tin cần thiết, rồi tiếp tục truyền vào LLM để tạo ra kết quả mới. Quá trình này được thực hiện nhiều lần nhằm giúp kết quả cuối cùng trở nên ưu việt. Phương pháp này phù hợp với các tác vụ phức tạp, cần thử và sai để đi đến kết luận cuối cùng.

Upload image

Lập kế hoạch theo vòng phản hồi

Công cụ hỗ trợ xây dựng LLM-based Agentic Workflow

LangGraph

LangGraph là một thư viện hỗ trợ xây dựng Agentic Workflow bằng các tạo ra các actor sử dụng LLM và kết nối chúng theo dạng đồ thị. Được lấy cảm hứng từ Pregel và Apache Beam, LangGraph cho phép điều phối và kiểm soát luồng xử lý gồm các bước thực thi theo chu kỳ bằng cách sử dụng các hàm Python thông thường.

Trong LangGraph, các nút (node) đại diện cho các tác nhân hoặc bước xử lý, và các cạnh (edge) thể hiện mối quan hệ hoặc luồng dữ liệu giữa chúng. Mỗi khi đồ thị thực thi, một trạng thái được truyền giữa các nút và mỗi nút sẽ cập nhật trạng thái này.

LangGraph cũng tích hợp với LangChain Expression Language (LCEL), cho phép dễ dàng tạo mỗi node là một pipeline thực thi nhiệm vụ. Với LangGraph, ta có thể xây dựng ứng dụng hỏi đáp để cải thiện câu trả lời một cách đơn giản.

Upload image

Ứng dụng hỏi đáp tự cải thiện câu trả lời

Đoạn code LangGraph - Reflexion minh họa cách sử dụng Azure OpenAI kết hợp với công cụ tìm kiếm Tavily để tạo ra một hệ thống hỏi đáp tự động, thông minh. Hệ thống này không chỉ trả lời các câu hỏi của người dùng mà còn liên tục cải thiện câu trả lời thông qua các vòng lặp phản hồi và tối ưu hóa. Từ câu trả lời ban đầu, LLM sẽ tự phản ánh, đánh giá và đề xuất các cải tiến. Hệ thống sẽ tự động thực hiện tìm kiếm thông tin cần thiết để bổ sung và điều chỉnh câu trả lời, từ đó nâng cao chất lượng của câu trả lời cuối cùng.

...

# Define prompt templates and initial answer chain
actor_prompt_template = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            """
            You are expert researcher.
            Current time: {time}

            1. {first_instruction}
            2. Reflect and critique your answer. Be severe to maximize improvement.
            3. Detect 1-2 keywords or terms that play most important role in question and search for information to prevent hallucination.
            4. Recommend search queries to research information and improve your answer.""",
        ),
        MessagesPlaceholder(variable_name="messages"),
        (
            "user",
            "\n\n<system>Reflect on the user's original question and the"
            " actions taken thus far. Respond using the {function_name} function.</reminder>",
        ),
    ]
).partial(time=lambda: datetime.datetime.now().isoformat())

...

# Define revision chain
revise_instructions = """
    Based on the referenced information, revise or rewrite the answer.
    - Knowledge in the answer must be matched with reference information.
    - You should use the previous critique to add important information to your answer.
    - You MUST include numerical citations in your revised answer to ensure it can be verified.
    - Add a "References" section to the bottom of your answer (which does not count towards the word limit). In form of:
        - [1] https://example.com
        - [2] https://example.com
    - You should use the previous critique to remove superfluous information from your answer and make SURE it is not more than 150 words.
"""

...

# Define message graph and event loop
MAX_ITERATIONS = 5
builder = MessageGraph()
builder.add_node("draft", first_responder.respond)
builder.add_node("execute_tools", tool_node)
builder.add_node("revise", revisor.respond)
builder.add_edge("draft", "execute_tools")
builder.add_edge("execute_tools", "revise")

...

builder.add_conditional_edges("revise", event_loop)
builder.set_entry_point("draft")
graph = builder.compile()

# Execute the graph with an initial message
events = graph.stream(
    [HumanMessage(content="What does Apple Intelligence do?")],
    stream_mode="values",
)
for i, step in enumerate(events):
    print(f"Step {i}")
    step[-1].pretty_print()

Với câu hỏi “What does Apple Intelligence do?”, câu trả lời đầu tiên cung cấp thông tin tổng quát về việc Apple sử dụng AI nhưng thiếu chi tiết cụ thể và ví dụ minh họa. Câu trả lời chỉ nhấn mạnh vào việc cải thiện Siri, nhận diện khuôn mặt, gợi ý cá nhân hóa và dự đoán gõ phím mà không nêu rõ các tính năng mới hay sự khác biệt đáng kể của Apple Intelligence. Sự thiếu chi tiết này khiến câu trả lời trở nên chung chung và không thực sự hấp dẫn.

Upload image

Bước 1: Đưa ra câu trả lời đầu tiên

Cùng với việc tạo ra câu trả lời, hệ thống thêm phần reflection để nhận xét và chỉ ra những điểm cần cập nhật, và phần search_queries để liệt kê các thông tin cần tìm kiếm thêm. Công cụ tìm kiếm sẽ thực hiện và trả lại các nội dung tham khảo:

Upload image

Bước 2: Tìm kiếm thông tin liên quan

Tiếp theo, hệ thống thực hiện bước Revise Answer: dựa vào các phản ánh trong reflection và thông tin tham khảo từ công cụ tìm kiếm để tạo ra một câu trả lời mới tốt hơn.

Upload image

Bước 3: Hiệu chỉnh câu trả lời

Quá trình này lặp lại cho đến khi hệ thống đưa ra câu trả lời cuối cùng. Lúc này, câu trả lời trở nên chi tiết hơn, giới thiệu Apple Intelligence như một hệ thống trí tuệ cá nhân và liệt kê các tính năng mới trong iOS 18, iPadOS 18, và macOS Sequoia. Câu trả lời nêu được các tính năng như tóm tắt email, tạo hình ảnh và emoji, cùng với cam kết về bảo mật dữ liệu cá nhân của Apple. Câu trả lời này cụ thể và rõ ràng hơn, làm nổi bật sự cải tiến và lợi ích thực tế của Apple Intelligence đối với người dùng.

Upload image

Bước n: Câu trả lời cuối cùng

OpenAgents

OpenAgents là một nền tảng mở nổi bật với khả năng tích hợp các tác nhân giọng nói vào cuộc sống hàng ngày. OpenAgents cung cấp ba tác nhân chính: Data Agent cho phân tích dữ liệu, Plugins Agent với hơn 200 công cụ hàng ngày, và Web Agent cho duyệt web tự động. Tính năng độc đáo của OpenAgents là khả năng chọn tự động plugin tốt nhất cho nhu cầu của người dùng và kết hợp nhiều plugin để thực hiện các nhiệm vụ phức tạp, mang lại trải nghiệm người dùng tối ưu và linh hoạt.

AutoGen

AutoGen là một framework của Microsoft giúp xây dựng các ứng dụng LLM thông qua nhiều tác nhân có khả năng giao tiếp và phối hợp với nhau. AutoGen tạo điều kiện cho các tác nhân hoạt động như một nhóm chuyên gia, mỗi người có một lĩnh vực chuyên môn riêng, để giải quyết các nhiệm vụ phức tạp đa ngành. Bằng cách này, mỗi tác nhân có thể đưa ra phản hồi và điều chỉnh để cải thiện quá trình suy luận và thực hiện kế hoạch. Lợi ích chính của AutoGen là tăng cường khả năng tùy chỉnh và hiệu quả của các ứng dụng LLM, thúc đẩy sự phân chia và hợp nhất các tác vụ phức tạp một cách hiệu quả.

Langroid

Langroid nổi bật với cách tiếp cận đa tác nhân độc đáo, nhấn mạnh vào tính linh hoạt và khả năng lập trình tùy biến cao. Langroid cho phép các nhà phát triển tạo và tùy chỉnh các tác nhân với cấu trúc và hành vi phức tạp thông qua các API và công cụ mạnh mẽ. Điều này giúp tạo ra các hệ thống đa tác nhân có khả năng tương tác cao và giải quyết các nhiệm vụ đặc thù mà không cần dựa vào các cấu trúc cứng nhắc, mang lại sự linh hoạt tối đa cho các ứng dụng cụ thể.

AutoGPT

Auto-GPT là một tác nhân AI tự động dựa trên GPT-4, nổi bật với khả năng tự động xâu chuỗi các tác vụ để đạt được mục tiêu lớn hơn do người dùng đặt ra. Auto-GPT tự quản lý quá trình nhắc lệnh nhiều bước mà không cần sự can thiệp liên tục của người dùng. Auto-GPT có khả năng quản lý bộ nhớ ngắn hạn để duy trì ngữ cảnh qua các chuỗi nhắc lệnh dài, và có thể xử lý cả văn bản lẫn hình ảnh, mang lại tính linh hoạt và tự động hóa cao cho các ứng dụng AI.

Một số thách thức

Tuy mạnh mẽ và linh hoạt, Agentic Workflow cũng có những thách thức đáng kể.

  • Độ phức tạp và chi phí triển khai: Agentic Workflow phức tạp hơn so với cách sử dụng LLM để thực thi tác vụ đơn lẻ. Trong mô hình Agentic Workflow, các tác nhân LLM thường phải xử lý nhiều yêu cầu, điều này có thể gây giảm hiệu suất hệ thống do phụ thuộc vào tốc độ phản hồi của mô hình LLM. Chi phí cũng là một vấn đề lớn khi triển khai nhiều tác nhân LLM cùng lúc.
  • Đồng bộ và nhất quán: Đảm bảo các tác nhân hoạt động đồng bộ với mục tiêu chung và tạo ra kết quả nhất quán. Sự mâu thuẫn hoặc không nhất quán trong các bước xử lý của các tác nhân cần phải được phát hiện và giải quyết trong quá trình thực thi.
  • Khả năng mở rộng và hiệu suất: Khi số lượng tác nhân và độ phức tạp của nhiệm vụ tăng lên, khả năng mở rộng và hiệu suất có thể trở thành vấn đề. Quản lý hiệu quả tài nguyên hệ thống và phân luồng công việc của các tác nhân là cần thiết để xử lý các ứng dụng quy mô lớn.
  • Độ tin cậy và độ bền vững: Các quy trình làm việc của Agentic Workflow dựa vào sự tin cậy và ổn định của các mô hình AI. Nếu các mô hình này có lỗi hoặc thiên lệch, các lỗi đó có thể lan rộng trong quá trình làm việc, dẫn đến kết quả không chính xác hoặc sai lệch.
  • Giới hạn kiến thức: Điều này có thể dẫn đến những thông tin sai lệch hoặc không chính xác, việc kiểm soát phạm vi kiến thức của các mô hình LLM là rất khó. Bên cạnh đó, dữ liệu đưa vào LLM cũng có thể tạo ra sự thiên vị ảnh hưởng đến hành vi của tác nhân khi hoạt động trong môi trường cụ thể.

Rõ ràng Agentic Workflow đánh dấu bước tiến quan trọng trong việc tối ưu hóa tương tác với các mô hình ngôn ngữ lớn, mang lại sự linh hoạt và hiệu quả, điển hình nhất chính là không cần phải cập nhật hệ thống liên tục. Tuy vậy, để triển khai thành công mô hình này cũng đòi hỏi kỹ năng chuyên sâu để có thể giải quyết độ phức tạp và những thách thức tồn đọng.

Atekco - Home for Authentic Technical Consultants