From 37386b89b6272f4cef34ab3bf131f11ed3afa13f Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Tue, 11 Aug 2026 22:40:46 +0900 Subject: Constrain structured planning responses --- tests/Agent.Core.Tests/PromptAndRuntimeTests.cs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests') diff --git a/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs b/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs index 3ef5bde..fef5340 100644 --- a/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs +++ b/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs @@ -284,6 +284,8 @@ public sealed class PromptAndRuntimeTests Assert.Equal(AgentTaskState.Completed, completed!.State); Assert.Equal([null, false], ollama.ThinkOverrides); Assert.All(ollama.Temperatures, value => Assert.Equal(0.7, value)); + Assert.Contains(ollama.PlanningMessages[1], message => + message.Role == "system" && message.Content.Contains("Do not call or execute any Tool", StringComparison.Ordinal)); } [Fact] @@ -603,6 +605,7 @@ public sealed class PromptAndRuntimeTests { public List ThinkOverrides { get; } = []; public List Temperatures { get; } = []; + public List> PlanningMessages { get; } = []; public int RunCalls { get; private set; } public Task ChatAsync(IReadOnlyList messages, double? temperatureOverride, CancellationToken cancellationToken) => Task.FromResult(new OllamaResult("done", 1, 1)); @@ -610,6 +613,7 @@ public sealed class PromptAndRuntimeTests { ThinkOverrides.Add(thinkOverride); Temperatures.Add(temperatureOverride); + PlanningMessages.Add(messages); string content = ThinkOverrides.Count == 2 && succeedOnRetry ? """{"tasks":[{"description":"analyze","dependencies":[],"budget_class":"4K","optimistic_tokens":10,"most_likely_tokens":20,"pessimistic_tokens":30,"requires_external_effect":false}]}""" : "not-json"; -- cgit v1.2.3