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
Nghĩa địa skill Tập 4: vì sao AI agent chọn công cụ sai
Written by chuotfx on September 11, 2026

Nghĩa địa skill – Tập 4: vì sao AI agent chọn công cụ sai

Blog

Contents

  • Va chạm: vì sao AI agent chọn công cụ nhầm khi có quá nhiều
  • Cú sập không hề êm ái: từ 43% xuống 2%
  • Cách chữa nghe rất đã: lọc bớt công cụ trước khi đưa vào
  • Nhưng 43% vẫn là dưới một nửa
  • Vậy cái gì thật sự cứu: ba dấu hiệu của một skill còn sống
  • Bớt đi không phải là mất năng lực
  • Nguồn

Chào mừng bạn đến với Fx Studio. Bài này xem vì sao AI agent chọn công cụ sai khi số công cụ phình lên, và vì sao lọc bớt không phải phép màu.

Tập 4 của series Nghĩa địa skill — về những skill tui viết cho Claude Code rồi không mở lại lần nào. Ba tập trước nói về cái chết; tập này lật lại: cái nào sống được. Hoá ra một skill có thể chết không vì nó dở, mà vì đứng quá gần một skill khác — và khi AI agent chọn công cụ trong một đống nhoè ranh giới, độ chính xác rơi rất sớm. Lọc bớt kéo lại được một phần, nhưng trần của nó vẫn dưới một nửa.

Tập trước tui kể hai kiểu chết rồi để dành kiểu thứ ba, vì nó khác hẳn hai kiểu kia.

Hai kiểu đầu đều là lỗi của người viết. Viết cho một phiên bản mình không sống thành. Viết đúng lúc hào hứng chứ không đúng lúc cần. Cả hai đều xảy ra ở khoảnh khắc gõ dòng đầu tiên.

Kiểu thứ ba thì không nằm ở lúc viết. Nó nằm ở chỗ các công cụ đứng cạnh nhau sau đó.

Va chạm: vì sao AI agent chọn công cụ nhầm khi có quá nhiều

Kiểu chết thứ ba bắt đầu từ chuyện này: khi trong tay có năm chục công cụ, gần như chắc chắn sẽ có vài cái làm những việc na ná nhau.

Có một ví dụ tui thấy rất đúng: search_issues, list_issues, get_issue, find_issues_by_label. Bốn cái này khác nhau thật, và người viết ra chúng biết rõ chúng khác nhau ở đâu. Nhưng với một model đang phải làm việc dưới tải ngữ cảnh lớn, cái ranh giới ngữ nghĩa giữa chúng nhoè đi. Kết quả không phải là chậm hơn. Kết quả là chọn nhầm cái này, hoặc gọi đúng cái này mà nhét tham số bê từ schema của cái kia.

Nhìn lại thư mục của tui thì đây đúng là chỗ đáng lo nhất. Cả một họ tui- cùng tiền tố, cùng giọng mô tả, cùng miền việc. Với người viết thì mỗi cái một vai rõ ràng. Với con mắt đọc mô tả thì chúng là bốn thứ nghe hơi giống nhau đứng cạnh nhau.

Tức là một skill có thể chết không phải vì nó dở, mà vì có một skill khác đứng gần quá.

Cú sập không hề êm ái: từ 43% xuống 2%

Mức sụt khi số công cụ tăng đã được đo, và con số làm tui hơi choáng.

Berkeley Function Calling Leaderboard đo trên tác vụ đặt lịch: với bốn công cụ thì độ chính xác đạt bốn mươi ba phần trăm; mở rộng lên năm mươi mốt công cụ trải nhiều miền khác nhau thì rơi xuống hai phần trăm.

Bốn mươi ba xuống hai. Đó không phải một đường cong suy giảm từ tốn. Đó là một cái vực.

Ngưỡng bắt đầu thấy vấn đề cũng thấp hơn tui tưởng. Các benchmark sản xuất ghi nhận độ chính xác suy giảm đo được khi số công cụ vượt khoảng mười tới mười lăm, và phần lớn đội làm sản phẩm thấy rõ chuyện đó khi vượt mười lăm tới hai mươi công cụ trong vòng xoay hoạt động. Trong khi OpenAI đặt trần cứng ở một trăm hai mươi tám công cụ mỗi agent — tức là chuyện hỏng xảy ra rất lâu trước khi đụng cái trần chính thức.

Có một bộ số khác cho thấy hình dạng của cái dốc: với khoảng năm mươi công cụ, phần lớn model giữ được tám mươi tư tới chín mươi lăm phần trăm; lên khoảng hai trăm công cụ thì rơi vào khoảng bốn mươi mốt tới tám mươi ba tuỳ model; và tới khoảng bảy trăm bốn mươi công cụ thì phần lớn model chỉ còn từ không tới hai mươi phần trăm.

Cách chữa nghe rất đã: lọc bớt công cụ trước khi đưa vào

Đây là chỗ mà nếu tui dừng lại thì bài này thành một bài quảng cáo.

Nghiên cứu RAG-MCP đưa ra một ý đơn giản: đừng phơi cả catalog ra trước mặt model. Lọc trước bằng tìm kiếm ngữ nghĩa, chọn ra vài cái liên quan tới câu hỏi, rồi chỉ đưa từng đó vào.

Kết quả trên benchmark của họ: độ chính xác chọn công cụ đi từ mười ba phẩy sáu hai phần trăm lên bốn mươi ba phẩy một ba phần trăm. Hơn gấp ba. Đồng thời số token trong prompt giảm hơn một nửa, từ khoảng hai nghìn một xuống còn khoảng một nghìn.

Model không đổi. Công cụ không đổi. Chỉ đổi số lượng thứ mà model nhìn thấy lúc phải quyết định.

Nếu bài dừng ở đây, kết luận sẽ rất gọn: cài một lớp lọc vào, xong.

Nhưng 43% vẫn là dưới một nửa

Bốn mươi ba phần trăm vẫn là dưới một nửa.

Sơ đồ hai tầng: tầng trên là độ chính xác chọn công cụ tụt dần khi số công cụ tăng, tầng dưới là mức lọc bớt kéo lại được — thanh dài nhất vẫn dừng trước đường trần MỘT NỬA

Đó là con số tốt nhất trong bảng đó, và nó vẫn có nghĩa là phần lớn số lần thì chọn sai. “Hơn gấp ba” nghe rất mạnh, nhưng gấp ba của mười ba thì vẫn là bốn mươi ba, và bốn mươi ba không phải chỗ để yên tâm.

Chưa hết. Bản thân nhóm RAG-MCP cũng ghi nhận rằng độ chính xác truy hồi của họ suy giảm khi kho công cụ phình lên tới hàng nghìn. Cách chữa cũng có trần của nó.

Và đây là chỗ tui thấy quan trọng nhất. Một nghiên cứu khác về truy hồi công cụ MCP cho thấy có phương pháp truy hồi còn tệ hơn cả không truy hồi gì — cụ thể là BM25, với tỉ lệ tìm trúng chỉ khoảng sáu mươi mốt phần trăm, khiến danh sách rút gọn quá nhiễu hoặc thiếu, và độ chính xác cuối cùng tụt xuống thấp hơn cả việc cứ để model tự xoay với ngữ cảnh dài. Kết luận của họ: truy hồi chỉ có lợi khi bộ truy hồi giỏi hơn khả năng tự xử ngữ cảnh của chính model.

Và chi tiết cuối, cay nhất: ngay cả khi công cụ đúng đã nằm trong danh sách rút gọn, model vẫn nhận nhầm trong khoảng mười tới mười lăm phần trăm số lần.

Lọc bớt không phải phép màu. Lọc dở còn tệ hơn không lọc.

Vậy cái gì thật sự cứu: ba dấu hiệu của một skill còn sống

Ghép hết lại thì tui rút ra thế này: thứ cứu mình không phải cái máy lọc. Máy lọc chỉ giúp được khi những thứ nó lọc vốn đã phân biệt được với nhau.

Nếu bốn skill của tui mô tả na ná nhau, thì dù có lọc hay không, cái ranh giới vẫn nhoè. Lọc chỉ thu hẹp danh sách; nó không tạo ra sự khác biệt mà bản thân các mục vốn không có.

Nên câu hỏi đúng không phải “làm sao chọn cho trúng trong đống này”, mà là “đống này có đáng để phải chọn không”.

Từ đó ra ba dấu hiệu của một skill còn sống. Tui rút từ chính chỗ các nghiên cứu trên chỉ ra là hỏng, chứ không phải từ một checklist nào.

Một, mô tả nói rõ khi nào KHÔNG dùng. Phần lớn mô tả chỉ nói công cụ làm được gì. Nhưng chỗ model chọn nhầm là chỗ hai công cụ cùng có vẻ làm được. Câu “đừng dùng cái này khi…” tạo ra ranh giới mà câu “cái này làm được…” không tạo ra nổi.

Hai, nó không giẫm chân cái nào khác. Nếu phải giải thích dài dòng để phân biệt hai skill, thì với người đọc mô tả chúng đã là một. Gộp lại, hoặc bỏ một cái.

Ba, tên nó bật ra trong đầu đúng lúc cần. Đây là phép thử từ tập 1, và tới giờ nó vẫn là phép thử rẻ nhất. Cái nào phải đi tìm mới nhớ ra thì nó đã ở ranh giới rồi.

Bớt đi không phải là mất năng lực

Cả series này tui đi từ một trực giác rất tự nhiên: nhiều công cụ hơn thì mạnh hơn.

Số liệu nói ngược. Vượt một ngưỡng thấp đáng ngạc nhiên, thêm công cụ không làm agent mạnh hơn mà làm nó yếu đi. Và cái vực bốn mươi ba xuống hai cho thấy chỗ đó không hề xa.

Nên bớt đi không phải là chấp nhận làm được ít hơn. Bớt đi chính là cách lấy lại phần năng lực đang bị mấy thứ nằm im rút mất.

Tới đây thì tui đã biết cái nào sống, biết vì sao nó sống, và biết cái nào nên đi.

Vậy mà tay tui vẫn chưa gõ được lệnh xoá.

Tập cuối: xoá.

Nguồn

  • Va chạm công cụ và mô tả nhoè ranh giới: dev.to — MCP Tool Overload: Why More Tools Make Your Agent Worse
  • 4 → 51 công cụ, 43% → 2% trên tác vụ đặt lịch: Berkeley Function Calling Leaderboard, dẫn qua TianPan.co — The Tool Selection Problem
  • Ngưỡng ~10–15 công cụ; trần cứng 128 công cụ mỗi agent của OpenAI: MachineLearningMastery — The Complete Guide to Tool Selection in AI Agents
  • Bậc thang 50 / 200 / 740 công cụ: vLLM Semantic Router — Semantic Tool Selection
  • 13,62% → 43,13%, token 2133 → 1084, và cảnh báo suy giảm khi kho lên hàng nghìn: RAG-MCP: Mitigating Prompt Bloat in LLM Tool Selection via Retrieval-Augmented Generation, arXiv 2505.03275
  • BM25 tệ hơn baseline; truy hồi chỉ có lợi khi giỏi hơn khả năng tự xử của model; chọn nhầm 10–15% dù công cụ đúng đã trong top 10: HumanMCP: A Human-Like Query Dataset for Evaluating MCP Tool Retrieval Performance

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

FacebookTweetPinYummlyLinkedInPrintEmailShares0

Related Posts:

  • Agent Skills
    Agent Skills của OpenAI
  • tool poisoning
    Giải mã tool poisoning - Vì sao con AI coding tool…
  • Ý Định
    Ý ĐỊNH trong PROMPT - Vì sao AI làm đúng Lời và sai Hồn
  • feature_bg_swift_04
    [Swift 6.2] Raw Identifiers - Đặt tên hàm có dấu…
Tags: AI, Claude Code, Context Engineering, Nghĩa Địa Skill, Skill
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 Agentic Agentic Coding for iOS AI AntiGravity api basic ios tutorial blog ci/cd Claude Code closure combine concurrency Context Engineering crashlytics dart dart basic dart tour Declarative design pattern firebase flavor flutter Google Stitch iOS MVVM Nghĩa Địa Skill optional Prompt engineering Prompt for Coding protocol Python rxswift Skill Swift Swift 5.5 SwiftUI SwiftUI Notes tableview testing TuiHocAI UI/UX unittest Vibe Coding

Recent Posts

  • Nghĩa địa skill – Tập 5: xoá skill không dùng
  • Nghĩa địa skill – Tập 4: vì sao AI agent chọn công cụ sai
  • Nghĩa địa skill – Tập 3: con số tính năng không ai dùng
  • Nghĩa địa skill – Tập 2: chi phí token của cái đã chết
  • Nghĩa địa skill – Tập 1: Cái tui không nhớ
  • Claude Certification – Chứng chỉ chính thức của Anthropic có gì đáng chú ý?
  • Sau Vibe Coding thì gì?
  • Tui Học AI – 3 cái bẫy khiến bạn tưởng đã lên bậc nhưng chưa
  • Vibe Coding 2026 – Essentials: Sách miễn phí cho Tester, PM, BA – Ebook
  • Tui Học AI – Bài 7 – “Tôi điều phối AI” → “Tôi thiết kế hệ thống AI tự vận hành, kể cả khi hỏng”

You may also like:

  • Tại sao cần các Chiến Lược Quản Lý Ngữ Cảnh khi…
    feature_bg_blog_027
  • Skill Validator - Đấng Phán Xét Chân Lý
    Skill Validator
  • [Swift 6.2] Raw Identifiers - Đặt tên hàm có dấu…
    feature_bg_swift_04
  • Skill Boundary (P/L/R): dạy kỹ năng biết khi nào nên dừng
    Skill Boundary
  • Ý ĐỊNH trong PROMPT - Vì sao AI làm đúng Lời và sai Hồn
    Ý Định

Archives

  • September 2026 (6)
  • August 2026 (2)
  • July 2026 (7)
  • June 2026 (13)
  • May 2026 (2)
  • April 2026 (5)
  • March 2026 (5)
  • February 2026 (1)
  • January 2026 (10)
  • December 2025 (1)
  • October 2025 (1)
  • September 2025 (4)
  • August 2025 (5)
  • 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 (109)
  • Code (11)
  • Combine (22)
  • Flutter & Dart (24)
  • iOS & Swift (106)
  • No Category (1)
  • RxSwift (37)
  • SwiftUI (80)
  • Tutorials (112)

Newsletter

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

    Copyright © 2026 Fx Studio - All rights reserved.