rag-fallback

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

RAG Fallback (có điều kiện)

条件式RAG回退

Điều kiện trigger (bắt buộc, không tùy tiện gọi)

触发条件(强制要求,不得随意调用)

Chỉ load skill này khi CẢ HAI điều sau đúng:
  1. mcp-loop
    đã chạy tối thiểu 3-5 lần và vẫn còn lỗi compile cùng một chỗ.
  2. Lỗi có dấu hiệu liên quan đến API/package đã đổi signature, bị deprecated, hoặc hàm không tồn tại như mô tả trong skill/agent-plugins hiện có (ví dụ: "method not found", "this constructor is deprecated", tên hàm đã đổi giữa các version).
Nếu lỗi là do logic của chính agent viết sai (không liên quan version) → không cần fallback, quay lại sửa trực tiếp trong
mcp-loop
.
仅当以下两个条件同时满足时,才加载此skill:
  1. mcp-loop
    已运行至少3-5次,但同一位置仍存在编译错误。
  2. 错误迹象表明API/package已更改签名、被废弃,或者当前skill/agent-plugins中描述的函数不存在(例如:"method not found"、"this constructor is deprecated"、函数名称在不同版本间已更改)。
如果错误是由于agent自身编写的逻辑错误(与版本无关)→ 无需回退,直接返回
mcp-loop
中修改。

Quy trình

流程

  1. Xác định chính xác package/API đang gây lỗi (tên package + version hiện tại trong
    pubspec.lock
    ).
  2. Dùng
    web_fetch
    /
    mcp_fetch
    lấy tài liệu chính thức mới nhất của package đó (changelog, migration guide nếu có) - ưu tiên nguồn chính chủ (pub.dev, docs.flutter.dev, GitHub repo của package).
  3. Tìm phần liên quan đến API đang lỗi, đối chiếu cú pháp mới.
  4. Cập nhật code theo cú pháp mới, quay lại
    mcp-loop
    để build lại.
  5. Nếu skill/agent-plugins hiện tại rõ ràng đã lỗi thời (không chỉ 1 API lẻ mà cả cách tiếp cận), ghi chú lại vào
    openspec/config.yaml
    (mục
    context
    ) hoặc báo user để cân nhắc cập nhật lại skill gốc - không tự động sửa file skill của Google.
  1. 准确定位导致错误的package/API(package名称 +
    pubspec.lock
    中的当前版本)。
  2. 使用
    web_fetch
    /
    mcp_fetch
    获取该package的最新官方文档(如有变更日志、迁移指南优先获取)- 优先选择官方来源(pub.dev、docs.flutter.dev、package的GitHub仓库)。
  3. 查找与出错API相关的部分,对比新语法。
  4. 根据新语法更新代码,返回
    mcp-loop
    重新构建。
  5. 如果当前skill/agent-plugins明显已过时(不仅是单个API,而是整个处理方式),请在
    openspec/config.yaml
    context
    项中记录,或告知用户以考虑更新原始skill - 不得自动修改Google的skill文件。

Giới hạn số lần thử

尝试次数限制

Tối đa 2 lần fetch + sửa theo hướng RAG fallback. Nếu vẫn lỗi sau đó → dừng hẳn theo quy định trong
mcp-loop/SKILL.md
(xuất log, báo user), không tiếp tục fetch thêm nhiều nguồn khác nhau gây tốn token.
最多进行2次RAG回退方向的获取+修改操作。如果之后仍出错→按照
mcp-loop/SKILL.md
中的规定停止(输出日志,告知用户),不得继续获取更多不同来源的内容以避免浪费token。

Ghi chú chi phí

成本注意事项

  • Route lệnh fetch qua model/kênh rẻ nhất đủ dùng (nếu có 9Router hoặc tương đương), không cần dùng model mạnh nhất chỉ để đọc changelog.
  • Không fetch "phòng hờ" trước khi biết chắc có lỗi - đây là fallback, không phải bước mặc định của
    flutter-coding
    .
  • 将获取请求路由到最便宜且够用的模型/通道(如有9Router或类似工具),无需使用最强模型仅用于读取变更日志。
  • 在确认存在错误前不得提前“预防性”获取内容 - 这是回退机制,并非
    flutter-coding
    的默认步骤。