FEATURED · 精选文章

AI Dev Kit 资源清单机制:MCP 会话间如何避免重复创建资源的完整指南

发布时间 / 2026/9/20 8:55:39
来源 / 创域科博编辑部
栏目 / 资讯中心
AI Dev Kit 资源清单机制:MCP 会话间如何避免重复创建资源的完整指南 AI Dev Kit 资源清单机制MCP 会话间如何避免重复创建资源的完整指南【免费下载链接】ai-dev-kitDatabricks Toolkit for Coding Agents provided by Field Engineering项目地址: https://gitcode.com/GitHub_Trending/ai/ai-dev-kitAI Dev Kit 资源清单机制Resource Manifest是 Databricks 官方工程团队Field Engineering为 AI 编码助手设计的跨会话防重复方案——它用一个本地 JSON 文件记住每个 MCP 会话创建的 Databricks 资源让 AI 助手在开启新对话时不再重复创建任务、仪表盘或管道。为什么 AI 助手会在 Databricks 里重复造轮子 AI 编码助手如 Claude Code通过 MCP 工具调用 Databricks API 创建资源。但默认情况下助手是金鱼记忆会话失忆上一次对话创建的 Job新会话完全不知道一句帮我建个 ETL 任务就会再生成一个同名重复资源超时误判创建操作耗时较长触发超时后助手往往把超时当成失败盲目重试其实资源早已建好资源残留试错期间创建的仪表盘、管道、Genie Space 散落在工作区里没人知道该清理哪个。结果是工作区堆满重复资源白烧计算费用还干扰审计。核心设计一个 JSON 文件治好会话失忆 资源清单机制的核心是项目根目录下的.databricks-resources.json文件MCP 服务器从项目根目录启动天然定位到当前项目。每个被创建的 Databricks 资源会自动记录一条{ version: 1, resources: [ { type: job, name: nightly-etl, id: 12345, created_at: 2026-09-18T08:30:00Z, updated_at: 2026-09-18T08:30:00Z } ] }它的智能之处在于Upsert 去重逻辑见 manifest.py按类型 ID匹配到 → 更新名称和时间戳按类型 名称匹配到处理跨会话 ID 变化的情况→ 只更新 ID不新增条目都没匹配到 → 才追加一条新记录。此外文件采用临时文件 原子重命名写入且追踪是尽力而为的——即使写入失败也只记日志、绝不影响工具本身的返回结果。两道隐藏防线创建幂等 超时不乱重试 ️清单文件只是最后一道防线AI Dev Kit 还在更前面布了两个哨兵创建前先查重以创建 Job 为例manage_jobs 工具 在执行创建前会先按名称查找同名 Job找到就直接返回已有的job_id并标注already_exists: True从源头掐断重复创建超时不等于失败TimeoutHandlingMiddleware 会把超时异常转成结构化错误并明确告诉助手操作可能仍在进行中不要重试同一调用请改用查询工具确认状态——这正是防止超时重试导致重复创建的关键设计。两个 MCP 工具查清单 一键清理 助手可以直接调用两个清单工具源码tools/manifest.py工具作用list_tracked_resources(type)列出项目清单中的全部或指定类型的已追踪资源新会话开工前先看账本delete_tracked_resource(type, resource_id, delete_from_databricks)从清单移除记录delete_from_databricksTrue时还会同步删除 Databricks 上的真实资源第二个工具背后是一套删除器注册表各资源工具模块在导入时通过register_deleter(...)注册自己的删除函数清单层因此无需了解任何资源类型的实现细节就能统一调度删除。目前支持真实删除的类型包括 Job、Pipeline、Dashboard、Genie Space、Knowledge Assistant、Supervisor Agent、App 以及 Catalog/Schema/Volume。哪些资源类型会被自动追踪各工具模块在成功创建后自动调用track_resource(...)覆盖的常见类型有任务与管道job、pipeline数据探索genie_space可视化dashboardAI 代理knowledge_assistant、multi_agent_supervisor目录治理catalog、schema、volume、metric_view向量搜索vs_endpoint、vs_index应用与数据库app、lakebase_instance、lakebase_project删除资源时对应模块也会同步调用remove_resource(...)保证账本与现实一致。上手实践新会话的先查后建工作流 ✅让助手先调用list_tracked_resources确认目标资源是否已存在若已存在改用更新/查询操作如manage_jobs(actionupdate)确认不存在后再创建创建成功后清单自动记账项目收尾时用delete_tracked_resource批量清理实验性资源delete_from_databricksTrue一步到位。这套幂等创建 超时防护 本地清单的组合拳本质上是给无状态的 AI 会话补上了一层轻量级持久记忆——不需要数据库、不需要配置一个 JSON 文件就解决了 MCP 会话间重复创建资源的经典难题。相关模块速查清单核心逻辑databricks_mcp_server/manifest.py清单 MCP 工具databricks_mcp_server/tools/manifest.pyJob 幂等创建示例databricks_mcp_server/tools/jobs.py超时中间件databricks_mcp_server/middleware.pyMCP 服务器总览文档databricks-mcp-server/README.md【免费下载链接】ai-dev-kitDatabricks Toolkit for Coding Agents provided by Field Engineering项目地址: https://gitcode.com/GitHub_Trending/ai/ai-dev-kit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻