Skip to content
  • Home
  • Code
  • iOS & Swift
  • Combine
  • RxSwift
  • SwiftUI
  • Flutter & Dart
  • Tutorials
  • Art
  • Blog
Fx Studio
  • Home
  • Code
  • iOS & Swift
  • Combine
  • RxSwift
  • SwiftUI
  • Flutter & Dart
  • Tutorials
  • Art
  • Blog
Written by chuotfx on August 4, 2025

Tại sao cần các Chiến Lược Quản Lý Ngữ Cảnh khi tương tác với LLMs thông qua góc nhìn AI API

Blog . Tutorials

Contents

  • 1. Giải Mã Cách Chatbot “Nói Chuyện” qua API
    • 1.1. Phân Biệt Rõ Ràng: RBAC và Vai Trò API
      • RBAC (Role-Based Access Control – Kiểm soát truy cập dựa trên vai trò):
      • Vai trò API (system, user, assistant):
    • 1.2. Bản Chất “Phi Trạng Thái” (Stateless) – Nguồn Gốc Của Vấn Đề
    • 1.3. Ví Dụ Thực Tế: Một Lệnh Gọi API Trông Như Thế Nào?
  • 2. Hiện Tượng Mất Thông Tin – Khi “Bộ Nhớ” Của AI Có Hạn
    • 2.1. Cửa Sổ Ngữ Cảnh: Tấm Bảng Trắng Có Giới Hạn
    • 2.2. Khoảnh Khắc Thông Tin Bị “Xóa Sổ” – Ví Dụ Minh Họa
  • 3. Các Chiến Lược Quản Lý Ngữ Cảnh Đã Được Chứng Minh
    • 3.1. Tóm Tắt Theo Yêu Cầu (On-Demand Summarization)
    • 3.2. Cung Cấp Ngữ Cảnh Chủ Động (Proactive Context Injection)
    • 3.3. Các Kỹ Thuật Tối Ưu Hóa Cửa Sổ Ngữ Cảnh
    • 3.4. Truy xuất Thông Tin Tăng Cường (Retrieval-Augmented Generation – RAG)
  • Kết Luận: Làm Chủ Cuộc Chơi

Chào mừng bạn đến với Fx Studio. Bạn đã bao giờ dành nhiều thời gian để giải thích một ý tưởng phức tạp cho chatbot, để rồi ở những lượt sau, nó lại hỏi những câu ngô nghê như thể chưa từng nghe bạn nói gì chưa? Sự “đãng trí” này là một trong những trải nghiệm gây khó chịu nhất khi tương tác với AI. Nhiều người cho rằng đây là một “lỗi”, nhưng sự thật là, đây là một đặc tính cố hữu, bắt nguồn từ chính cách các chatbot được thiết kế để hoạt động.

Bài viết này sẽ đi sâu vào bản chất kỹ thuật đằng sau các cuộc hội thoại AI, giải mã lý do tại sao thông tin lại bị mất, và quan trọng nhất, trình bày các chiến lược đã được chứng minh để giải quyết vấn đề này một cách hiệu quả.

1. Giải Mã Cách Chatbot “Nói Chuyện” qua API

Quản Lý Ngữ Cảnh

Để hiểu tại sao AI “quên”, trước hết chúng ta cần hiểu cách nó “nói chuyện”. Mọi tương tác của bạn với chatbot không phải là một dòng chảy liên tục, mà là một chuỗi các lệnh gọi API riêng lẻ.

1.1. Phân Biệt Rõ Ràng: RBAC và Vai Trò API

Nhiều người nhầm lẫn giữa hai khái niệm này, nhưng chúng phục vụ hai mục đích hoàn toàn khác nhau.

RBAC (Role-Based Access Control – Kiểm soát truy cập dựa trên vai trò):

Đây là một cơ chế bảo mật và phân quyền. Nó trả lời câu hỏi: “Ai được phép sử dụng tài nguyên AI này?“. Ví dụ, trong một công ty, quản trị viên có quyền truy cập đầy đủ vào API, trong khi nhân viên chỉ có quyền sử dụng với một số giới hạn nhất định. RBAC hoạt động ở tầng cơ sở hạ tầng, đảm bảo chỉ những người dùng hợp lệ mới có thể thực hiện lệnh gọi API.

Vai trò API (system, user, assistant):

Đây là một cơ chế cấu trúc cuộc hội thoại. Nó trả lời câu hỏi: “Ai đang nói gì trong cuộc hội thoại này?“.

  • system: Cung cấp các chỉ dẫn cấp cao, định hình “tính cách” hoặc chuyên môn cho AI (ví dụ: “Bạn là một chuyên gia lịch sử”).
  • user: Đại diện cho lời nói, câu hỏi của người dùng.
  • assistant: Đại diện cho các câu trả lời trước đó của chính AI.

Hiểu đơn giản, RBAC là “vé vào cửa”, còn Vai trò API là “kịch bản” của cuộc trò chuyện. Chính “kịch bản” này mới là thứ quyết định AI sẽ phản hồi như thế nào.

1.2. Bản Chất “Phi Trạng Thái” (Stateless) – Nguồn Gốc Của Vấn Đề

Hãy tưởng tượng bạn đang nói chuyện với một nhân viên tổng đài. Mỗi lần bạn gọi đến, bạn lại gặp một người hoàn toàn khác nhau và người này không hề có thông tin gì về các cuộc gọi trước đó của bạn. Để họ hiểu vấn đề, mỗi lần gọi bạn đều phải kể lại toàn bộ câu chuyện từ đầu: “Chào bạn, tôi là A, hôm qua tôi đã gọi để báo về vấn đề B, và nhân viên trước đã khuyên tôi làm C…”.

Đây chính xác là cách các AI API hoạt động. Khái niệm “phi trạng thái” (stateless) là một nguyên tắc thiết kế nền tảng với các đặc điểm sau:

  • Mỗi Yêu Cầu Là Một Thế Giới Riêng: Khi chatbot của bạn gửi một yêu cầu đến máy chủ AI, máy chủ sẽ xử lý yêu cầu đó, trả về kết quả, và ngay lập tức quên hoàn toàn về sự tồn tại của yêu cầu đó. Nó không lưu lại bất kỳ “trạng thái” hay “ký ức” nào. Lần tiếp theo bạn gửi một yêu cầu khác, đối với máy chủ, nó giống như một người lạ hoàn toàn mới đang bắt đầu một cuộc trò chuyện mới.

  • Tại Sao Lại Thiết Kế “Phi Trạng Thái”? Thiết kế này cực kỳ quan trọng vì hai lý do chính:

    • Khả năng mở rộng (Scalability): Hãy tưởng tượng các mô hình như ChatGPT phải phục vụ hàng trăm triệu người dùng cùng lúc. Nếu máy chủ phải lưu trữ trạng thái của từng cuộc hội thoại, nó sẽ cần một dung lượng bộ nhớ và khả năng quản lý khổng lồ. Bằng cách thiết kế “phi trạng thái”, mỗi yêu cầu có thể được xử lý bởi bất kỳ máy chủ nào có sẵn, giúp việc phân phối tải và mở rộng quy mô trở nên cực kỳ hiệu quả.

    • Độ tin cậy (Reliability): Vì mỗi yêu cầu là độc lập, nếu một yêu cầu bị lỗi, nó không ảnh hưởng đến bất kỳ yêu cầu nào khác. Hệ thống không phải lo lắng về việc “trạng thái” của một cuộc hội thoại bị hỏng hay mất mát.

  • Giải Pháp: “Ảo Giác” về Trí Nhớ: Để tạo ra “ảo giác” về một cuộc hội thoại liền mạch, trách nhiệm “ghi nhớ” được chuyển từ máy chủ AI về phía ứng dụng chatbot của bạn. Ứng dụng chatbot sẽ đóng vai trò như một người thư ký mẫn cán, ghi chép lại toàn bộ cuộc trò chuyện. Mỗi khi bạn gửi một tin nhắn mới, người thư ký này sẽ lấy tin nhắn mới đó, đính kèm với toàn bộ bản ghi chép cuộc trò chuyện từ trước đến nay, và gửi toàn bộ gói thông tin đó cho máy chủ AI.

Bằng cách này, dù máy chủ AI có “não cá vàng” và quên ngay lập tức, nó vẫn luôn nhận được đầy đủ bối cảnh cần thiết trong mỗi lần được hỏi. Chính cơ chế “gửi lại lịch sử” này là nền tảng cho sự liền mạch của các cuộc hội thoại AI, nhưng đồng thời, nó cũng chính là nguyên nhân trực tiếp dẫn đến vấn đề “Cửa sổ ngữ cảnh” sẽ được thảo luận ở phần tiếp theo.

1.3. Ví Dụ Thực Tế: Một Lệnh Gọi API Trông Như Thế Nào?

Để hình dung rõ hơn, hãy xem xét một kịch bản đơn giản: bạn muốn AI đóng vai một chuyên gia du lịch để lên kế hoạch cho chuyến đi Đà Nẵng.

Lượt 1: Yêu cầu ban đầu

Bạn gõ vào chatbot: “Hãy giúp tôi lên kế hoạch cho một chuyến đi Đà Nẵng.”

Phía sau hậu trường, ứng dụng chatbot sẽ tạo một gói dữ liệu (payload) và gửi đến máy chủ AI. Gói dữ liệu này trông giống như sau:

{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "system",
      "content": "Bạn là một trợ lý du lịch am hiểu về Việt Nam, luôn đưa ra những gợi ý nhiệt tình và chi tiết."
    },
    {
      "role": "user",
      "content": "Hãy giúp tôi lên kế hoạch cho một chuyến đi Đà Nẵng."
    }
  ]
}

Lượt 2: Câu hỏi tiếp theo (Duy trì ngữ cảnh)

AI phản hồi: “Tuyệt vời! Bạn muốn đi trong bao lâu và ngân sách dự kiến là bao nhiêu?”

Bây giờ, bạn trả lời: “Khoảng 3 ngày, ngân sách 5 triệu.”

Lúc này, ứng dụng chatbot sẽ tạo một gói dữ liệu mới, bao gồm toàn bộ lịch sử trước đó:

{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "system",
      "content": "Bạn là một trợ lý du lịch am hiểu về Việt Nam, luôn đưa ra những gợi ý nhiệt tình và chi tiết."
    },
    {
      "role": "user",
      "content": "Hãy giúp tôi lên kế hoạch cho một chuyến đi Đà Nẵng."
    },
    {
      "role": "assistant",
      "content": "Tuyệt vời! Bạn muốn đi trong bao lâu và ngân sách dự kiến là bao nhiêu?"
    },
    {
      "role": "user",
      "content": "Khoảng 3 ngày, ngân sách 5 triệu."
    }
  ]
}

Ví dụ này cho thấy “bộ nhớ” của AI không phải là thứ tồn tại sẵn, mà là thứ được tái tạo lại trong mỗi lần gọi API bằng cách gửi kèm lịch sử cuộc trò chuyện.

2. Hiện Tượng Mất Thông Tin – Khi “Bộ Nhớ” Của AI Có Hạn

Quản Lý Ngữ Cảnh

Giải pháp “gửi lại lịch sử” nghe có vẻ hoàn hảo, nhưng nó vấp phải một rào cản vật lý không thể tránh khỏi: Cửa sổ ngữ cảnh (Context Window). Đây chính là gót chân Achilles của các cuộc hội thoại dài.

2.1. Cửa Sổ Ngữ Cảnh: Tấm Bảng Trắng Có Giới Hạn

Hãy hình dung cửa sổ ngữ cảnh như một tấm bảng trắng. Mỗi khi bạn nói chuyện với AI, toàn bộ lịch sử cuộc trò chuyện sẽ được viết lên tấm bảng này để AI “đọc” và hiểu bối cảnh. Vấn đề là, tấm bảng này có kích thước giới hạn.

Kích thước này được đo bằng một đơn vị gọi là token. Một token có thể là một từ, một phần của từ, hoặc một ký tự. Ví dụ, câu “tôi thích AI” có thể được tính là 3 token.

Các mô hình AI khác nhau có kích thước “bảng trắng” khác nhau. Một số có thể chứa vài nghìn token (tương đương vài trang văn bản), trong khi các mô hình tiên tiến nhất có thể chứa hàng trăm nghìn hoặc thậm chí hàng triệu token. Nhưng dù lớn đến đâu, nó luôn có giới hạn.

2.2. Khoảnh Khắc Thông Tin Bị “Xóa Sổ” – Ví Dụ Minh Họa

Khi cuộc trò chuyện của bạn kéo dài, lượng chữ viết trên tấm bảng ngày càng nhiều. Đến một lúc nào đó, tấm bảng sẽ đầy. Để viết thêm thông tin mới, chatbot không còn cách nào khác ngoài việc lấy giẻ lau và xóa đi những dòng chữ cũ nhất.

Đây chính là khoảnh khắc thông tin bị “mất”.

Ví dụ: Giả sử chúng ta đang dùng một mô hình AI có cửa sổ ngữ cảnh rất nhỏ, chỉ có thể chứa được khoảng 30 từ.

  • Lượt 1 (Bạn): “Chúng ta hãy bắt đầu một dự án mới tên là ‘Chiến Dịch Mùa Hè Xanh’.” (11 từ)

  • Lượt 2 (Bạn): “Ngân sách cho dự án này là 100 triệu đồng, phân bổ cho marketing và tổ chức sự kiện.” (15 từ)

    • Lúc này, trên “tấm bảng” có: Tên dự án + Ngân sách. Tổng cộng 26 từ. Mọi thứ vẫn ổn.

  • Lượt 3 (Bạn): “Nhân sự chính gồm có An phụ trách nội dung, Bình phụ trách thiết kế, và Cường điều phối chung.” (16 từ)

    • Bây giờ, để viết thêm 16 từ này, tấm bảng đã đầy. Chatbot buộc phải xóa đi thông tin cũ nhất.

    • Thông tin bị xóa: “Chúng ta hãy bắt đầu một dự án mới tên là ‘Chiến Dịch Mùa Hè Xanh’.”

    • Thông tin còn lại trên bảng: Ngân sách + Nhân sự.

  • Lượt 4 (Bạn): “Hãy tóm tắt lại tên của dự án chúng ta đang làm.”

Lúc này, khi AI nhìn vào “tấm bảng” của nó, nó chỉ thấy thông tin về ngân sách và nhân sự. Thông tin về “tên dự án” đã bị xóa mất. Kết quả là, AI sẽ trả lời một cách lúng túng như: “Tôi xin lỗi, tôi không có thông tin về tên dự án. Bạn có thể nhắc lại được không?”

Đây chính là hiện tượng mất thông tin. Nó không phải là AI “kém thông minh”, mà đơn giản là thông tin đó đã không còn nằm trong tầm nhìn của nó nữa.

3. Các Chiến Lược Quản Lý Ngữ Cảnh Đã Được Chứng Minh

Hiểu được vấn đề cốt lõi, chúng ta thấy rằng việc thụ động hy vọng AI sẽ “nhớ” là điều không thể. Vấn đề này đã được phân tích sâu trong các nghiên cứu khoa học, nổi bật là bài báo trên arXiv có tiêu đề “LLMs Get Lost In Multi-Turn Conversation”. Nghiên cứu này chỉ ra rằng hiệu suất của các Mô hình Ngôn ngữ Lớn (LLM) suy giảm đáng kể khi phải xử lý các yêu cầu được chia thành nhiều lượt thay vì nhận toàn bộ thông tin cùng một lúc.

Quản Lý Ngữ Cảnh

Để giải quyết thách thức này, cộng đồng AI đã phát triển nhiều chiến lược chủ động. Thay vì chỉ có một giải pháp duy nhất, người dùng có thể lựa chọn phương pháp phù hợp nhất với nhiệm vụ của mình.

3.1. Tóm Tắt Theo Yêu Cầu (On-Demand Summarization)

Đây là phương pháp đơn giản nhất, trong đó người dùng yêu cầu AI tóm tắt lại cuộc hội thoại tại các thời điểm quan trọng.

  • Cơ chế: Bạn có thể ra lệnh như: “Hãy tóm tắt lại các điểm chính chúng ta đã thống nhất từ đầu đến giờ.”
  • Ưu điểm: Dễ thực hiện, không cần chuẩn bị trước.
  • Nhược điểm: Vẫn mang tính thụ động. Nếu thông tin quan trọng đã bị “rơi” ra khỏi cửa sổ ngữ cảnh, AI sẽ không thể đưa nó vào bản tóm tắt. Phương pháp này chỉ hiệu quả với các cuộc hội thoại có độ dài vừa phải.

3.2. Cung Cấp Ngữ Cảnh Chủ Động (Proactive Context Injection)

Đây chính là bản chất của chiến lược thường được biết đến với tên gọi SNOWBALL (Quả Cầu Tuyết). Thay vì yêu cầu AI tóm tắt, người dùng sẽ chủ động cung cấp bản tóm tắt trong mỗi lời nhắc.

  • Cơ chế: Bắt đầu mỗi yêu cầu mới bằng một bản tóm tắt các điểm cốt lõi đã thống nhất. Ví dụ: “Ngữ cảnh: Lên kế hoạch sự kiện marketing, ngân sách 50 triệu, 100 khách. Yêu cầu mới: Đề xuất 3 chủ đề.”
  • Ưu điểm: Độ tin cậy rất cao, đảm bảo các chi tiết quan trọng không bao giờ bị mất.
  • Nhược điểm: Đòi hỏi công sức từ người dùng, có thể làm tăng độ dài của lời nhắc và chi phí API.

3.3. Các Kỹ Thuật Tối Ưu Hóa Cửa Sổ Ngữ Cảnh

Đối với các hệ thống chatbot phức tạp, các nhà phát triển thường sử dụng các kỹ thuật tự động để quản lý ngữ cảnh một cách hiệu quả hơn.

  • Cửa Sổ Trượt (Sliding Window): Chỉ giữ lại N tin nhắn gần nhất trong lịch sử. Đây là cách tiếp cận đơn giản nhưng có thể làm mất ngữ cảnh dài hạn.
  • Tóm Tắt & Gắn Ghép (Summarization and Concatenation): Hệ thống tự động tóm tắt các phần cũ của cuộc hội thoại và gắn bản tóm tắt đó với các tin nhắn gần đây. Điều này giúp giữ lại ý chính của các trao đổi cũ trong khi vẫn ưu tiên chi tiết của các trao đổi mới.

3.4. Truy xuất Thông Tin Tăng Cường (Retrieval-Augmented Generation – RAG)

Đây là giải pháp tiên tiến và mạnh mẽ nhất hiện nay, thường được sử dụng trong các ứng dụng doanh nghiệp.

  • Cơ chế: Toàn bộ lịch sử cuộc trò chuyện hoặc các tài liệu liên quan được lưu trữ trong một cơ sở dữ liệu bên ngoài (thường là vector database). Khi người dùng đặt câu hỏi, hệ thống sẽ tìm kiếm và truy xuất những đoạn thông tin liên quan nhất, sau đó “nhồi” chúng vào lời nhắc cùng với câu hỏi của người dùng trước khi gửi đến AI.
  • Ưu điểm: Vượt qua giới hạn của cửa sổ ngữ cảnh, cho phép AI truy cập vào một “bộ nhớ” gần như vô hạn và luôn cập nhật.
  • Nhược điểm: Phức tạp để triển khai, đòi hỏi kiến trúc hệ thống phức tạp hơn.

Kết Luận: Làm Chủ Cuộc Chơi

Hiện tượng chatbot “quên” không phải là một lỗi, mà là một đặc tính thiết kế bắt nguồn từ bản chất “phi trạng thái” của các lệnh gọi API và giới hạn của cửa sổ ngữ cảnh. Thay vì bực bội với những hạn chế này, chúng ta có thể làm chủ chúng bằng cách lựa chọn chiến lược quản lý ngữ cảnh phù hợp.

Từ việc tóm tắt đơn giản, cung cấp ngữ cảnh chủ động, cho đến các giải pháp kỹ thuật phức tạp như RAG, mỗi phương pháp đều có ưu và nhược điểm riêng. Việc hiểu rõ bản chất của công cụ và các chiến lược khả thi sẽ giúp bạn biến AI từ một trợ lý đãng trí thành một đối tác mạnh mẽ, đáng tin cậy, có khả năng duy trì sự mạch lạc trong các nhiệm vụ phức tạp nhất.

Okay! Tới đây, mình xin kết thúc bài viết này. Nếu có gì thắc mắc hay góp ý cho mình. Thì bạn có thể để lại bình luận hoặc gửi email theo trang Contact.

Cảm ơn bạn đã đọc bài viết này!

Tham khảo:

  • LLMs Get Lost in Multi-Turn Conversation

  • Mô phỏng chiến lược SNOWBALL giúp AI “Nhớ Lâu” hơn trong cuộc trò chuyện
FacebookTweetPinYummlyLinkedInPrintEmailShares0

Related Posts:

  • PARA
    PARA - Phương pháp phân bổ tài nguyên giúp nâng cao…
  • feature_prompt_04
    CO-STAR - Công thức vàng để viết Prompt hiệu quả cho LLM
  • Chain of Verification
    Chain of Verification (CoVe): Nâng Cao Độ Tin Cậy…
  • feature_bg_blog_015
    Prompt Engineering - Người lập trình ngôn ngữ tự nhiên
Tags: AI, blog, Prompt engineering
Written by chuotfx

Hãy ngồi xuống, uống miếng bánh và ăn miếng trà. Chúng ta cùng nhau đàm đạo về đời, về code nhóe!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Donate – Buy me a coffee!

Fan page

Fx Studio

Tags

Actor Advanced Swift AI api AppDistribution autolayout basic ios tutorial blog ci/cd closure collectionview combine concurrency crashlytics dart dart basic dart tour Declarative delegate Dependency deploy design pattern fabric fastlane firebase flavor flutter GCD iOS MVVM optional Prompt engineering Prompt for Coding protocol Python rxswift Swift Swift 5.5 SwiftData SwiftUI SwiftUI Notes tableview testing TravisCI unittest

Recent Posts

  • Tại sao cần các Chiến Lược Quản Lý Ngữ Cảnh khi tương tác với LLMs thông qua góc nhìn AI API
  • Prompt for Coding – Code Translation với Kỹ thuật Exemplar Selection (k-NN)
  • Mô phỏng chiến lược SNOWBALL giúp AI “Nhớ Lâu” hơn trong cuộc trò chuyện
  • Prompt for Coding – Bug Detection với prompting cơ bản
  • Cẩm Nang Đặt Câu Hỏi Chain of Verification (CoVe): Từ Cơ Bản Đến Chuyên Gia
  • Chain of Verification (CoVe): Nâng Cao Độ Tin Cậy Của Mô Hình Ngôn Ngữ Lớn
  • Mixture of Thought (MoT) – Từ Suy Luận Logic đến Ứng Dụng Sáng Tạo
  • Prompt Injection (phần 2) – Chiến Lược Phòng Thủ và Kỹ Thuật Giảm Thiểu Rủi Ro
  • Prompt Injection (phần 1) – Phân Tích về Các Kỹ Thuật Tấn Công
  • Bản chất của Prompt Engineering là Quản lý sự Mơ hồ

You may also like:

  • Prompt Engineering - Người lập trình ngôn ngữ tự nhiên
    feature_bg_blog_015
  • Khi Cô Đơn Gặp Python
    feature_bg_blog_007
  • Vấn đề Ảo Giác (hallucination) khi tương tác với Gen…
    hallucination
  • Chain of Verification (CoVe): Nâng Cao Độ Tin Cậy…
    Chain of Verification
  • Thời Đại Của "Dev Tay To" Đã Qua Chưa?
    feature_bg_blog_010

Archives

  • August 2025 (2)
  • July 2025 (10)
  • June 2025 (1)
  • May 2025 (2)
  • April 2025 (1)
  • March 2025 (8)
  • January 2025 (7)
  • December 2024 (4)
  • September 2024 (1)
  • July 2024 (1)
  • June 2024 (1)
  • May 2024 (4)
  • April 2024 (2)
  • March 2024 (5)
  • January 2024 (4)
  • February 2023 (1)
  • January 2023 (2)
  • November 2022 (2)
  • October 2022 (1)
  • September 2022 (5)
  • August 2022 (6)
  • July 2022 (7)
  • June 2022 (8)
  • May 2022 (5)
  • April 2022 (1)
  • March 2022 (3)
  • February 2022 (5)
  • January 2022 (4)
  • December 2021 (6)
  • November 2021 (8)
  • October 2021 (8)
  • September 2021 (8)
  • August 2021 (8)
  • July 2021 (9)
  • June 2021 (8)
  • May 2021 (7)
  • April 2021 (11)
  • March 2021 (12)
  • February 2021 (3)
  • January 2021 (3)
  • December 2020 (3)
  • November 2020 (9)
  • October 2020 (7)
  • September 2020 (17)
  • August 2020 (1)
  • July 2020 (3)
  • June 2020 (1)
  • May 2020 (2)
  • April 2020 (3)
  • March 2020 (20)
  • February 2020 (5)
  • January 2020 (2)
  • December 2019 (12)
  • November 2019 (12)
  • October 2019 (19)
  • September 2019 (17)
  • August 2019 (10)

About me

Education, Mini Game, Digital Art & Life of coders
Contacts:
contacts@fxstudio.dev

Fx Studio

  • Home
  • About me
  • Contact us
  • Mail
  • Privacy Policy
  • Donate
  • Sitemap

Categories

  • Art (1)
  • Blog (57)
  • Code (11)
  • Combine (22)
  • Flutter & Dart (24)
  • iOS & Swift (102)
  • No Category (1)
  • RxSwift (37)
  • SwiftUI (80)
  • Tutorials (97)

Newsletter

Stay up to date with our latest news and posts.
Loading

    Copyright © 2025 Fx Studio - All rights reserved.