mcpField
F
foundation-models

foundation-models

github.com/johnrogers开发233152 次安装41 周前更新
代码仓库

关于 foundation-models

用于 Apple Foundation Models 框架的开发技能,帮助在设备端完成特定文本处理任务。内容包括摘要、提取、分类和生成,无需网络连接。

主要功能

  1. 01设备端文本处理
  2. 02摘要与信息提取
  3. 03分类与内容标记
  4. 04结构化输出指导
  5. 05流式生成指导

适用场景

  1. 01总结用户提供的内容
  2. 02从文本中提取关键信息
  3. 03对内容进行分类或标记

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/johnrogers/claude-swift-engineering --skill foundation-models

安装后在 Claude Code 中输入/foundation-models确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
getting-started.md
streaming.md
structured-output.md
tool-calling.md
troubleshooting.md

详细介绍

Foundation Models

Apple 的设备端 AI 框架,可访问一个拥有 30 亿参数的语言模型,用于摘要、信息提取、分类和内容生成。完全在设备上运行,无需网络。

概述

Foundation Models 可直接在设备上进行智能文本处理,无需与服务器往返通信、共享用户数据或依赖网络。核心原则:利用设备端 AI 执行特定、范围明确的任务(而非通用知识问答)。

参考资料加载指南

只要有一丝可能需要参考资料中的内容,就务必加载参考文件。 宁可掌握更多上下文,也不要错过模式或犯错。

参考资料加载时机
入门指南设置 LanguageModelSession、检查可用性、编写基本提示词
结构化输出使用 @Generable 获取类型安全的响应、使用 @Guide 约束
工具调用通过 Tool 协议集成外部数据(天气、联系人、MapKit)
流式传输使用 AsyncSequence 逐步更新 UI、使用 PartiallyGenerated 类型
故障排除上下文溢出、护栏、错误、反模式

核心工作流

  1. 使用 SystemLanguageModel.default.availability 检查可用性
  2. 创建可选带有指令的 LanguageModelSession
  3. 选择输出类型:纯 String 或 @Generable 结构体
  4. 对较长的生成(>1 秒)使用流式传输
  5. 处理错误:上下文溢出、护栏、不支持的语言

模型能力

使用场景Foundation Models?替代方案
摘要是-
信息提取(关键信息)是-
分类是-
内容标记是(内置适配器)-
世界知识否ChatGPT、Claude、Gemini
复杂推理否服务端大模型

平台要求

  • iOS 26+、macOS 26+、iPadOS 26+、visionOS 26+
  • 支持 Apple Intelligence 的设备(iPhone 15 Pro+、M1+ iPad/Mac)
  • 用户已选择启用 Apple Intelligence

常见错误

  1. 将 Foundation Models 用于世界知识 — 这个 30 亿参数的模型仅针对设备端任务训练。它不了解时事、具体事实或“X 是谁”。这类需求请使用 ChatGPT/Claude。提示词应限于:总结用户自己的内容、提取信息、分类文本。

  2. 阻塞主线程 — LanguageModelSession 调用必须在后台线程或异步上下文中运行。阻塞主线程会锁定 UI。务必使用 Task { } 或后台队列。

  3. 忽略上下文溢出 — 模型的上下文有限。如果用户粘贴一份 50KB 的文档,调用可能会静默失败或截断内容。检查输入长度,并主动修剪或截断。

  4. 忘记检查可用性 — 并非所有设备都支持 Foundation Models。使用前请检查 SystemLanguageModel.default.availability。必须实现优雅降级。

  5. 忽略护栏 — 模型不会回答有害问题。不要试图绕过限制,而应设计符合安全准则的提示词。通常只需改写请求即可。

评论

支持 Markdown