Skip to content

Conversation

@JasonTheAdams
Copy link
Member

After some discussion with @felixarntz, we decided that having both system instructions in the ModelConfig and a SystemMessage within Message arrays is confusing. This was the case because some model APIs treat system instructions as a configuration, while others expect it as the first message. But trying to do both in a client intended to be a unified API is confusing — both for the Extender and for the Implementor.

This PR removes the concept of the system message in favor of system instructions as part of the ModelConfig. This just focuses on how it's removed. Using the instructions in the config will be reflected in subsequent PRs.

Copy link
Member

@felixarntz felixarntz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JasonTheAdams Thank you for updating this, LGTM!

Comment on lines -947 to +944
+setSystemInstruction(string|MessagePart|MessagePart[]|Message $systemInstruction) void
+getSystemInstruction() Message?
+setSystemInstruction(string $systemInstruction) void
+getSystemInstruction() string?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding this change, I was wondering whether your PR was missing that adjustment in ModelConfig itself, but then I checked and realized we never implemented it like this in the first place, it's always been a string - so that's perfect 😆

@felixarntz felixarntz added this to the Complete Implementor API milestone Aug 23, 2025
@felixarntz felixarntz added the [Type] Enhancement A suggestion for improvement. label Aug 23, 2025
@felixarntz felixarntz merged commit 0b36ef8 into trunk Aug 23, 2025
4 checks passed
@JasonTheAdams JasonTheAdams deleted the no-more-system-messages branch September 10, 2025 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Type] Enhancement A suggestion for improvement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants