A prompt tells the system model who it is and what it may do. Users feel that text as tone, length, and what the app will try. That is product copy, even if it never appears on a button.
If you ship a harsh or wrong instruction, you wait for review. An Edge FDE wants a version they can turn off. The model API on iOS 27 and macOS 27 lets you change instructions and tools on the next request with Dynamic Profiles. You still need a list of versions to point at.
struct PromptVersion: Identifiable, Sendable {
var id: String // "support.refund.v3"
var text: String
var live: Bool
}
// A view string is not a version. You cannot roll this back.
let stuck = "You are a refund assistant. Be brief."
Foundation Models is Apple's system language-model API. It is not Core AI, and it is not a file you trained. Core AI vs Core ML vs MLX keeps those names straight.
Next, store that version as data.
Key concepts
- Instruction text shapes tone, length, and behavior users feel.
- Hard-coded view strings cannot roll back without a new build.
- Dynamic Profiles let you change instructions on the next request on iOS 27 and macOS 27.
- Foundation Models is the system language-model API, not a trained Core AI file.
Takeaways
- If you cannot name the live prompt version, you cannot roll it back.
- Treat instructions like copy, not code comments.
- You still need a version list to point Dynamic Profiles at.