using System; namespace PolyTrader.Core.Agents { /// /// Kostendeckel für einen einzelnen Agenten-Lauf (aus ClawdDotNet übernommen und erweitert): begrenzt /// Schritte, Gesamt-Tokens und Wanduhr-Zeit. Wird pro Lauf mit einem frischen /// erzwungen – so kann ein LLM-Agent nicht in eine teure Endlosschleife laufen. /// public sealed record AgentBudget { /// Maximale Anzahl Modell-Runden (Function-Calling-Iterationen). public int MaxSteps { get; init; } = 8; /// Maximale Summe aus Prompt- und Completion-Tokens über den gesamten Lauf. public int MaxTokens { get; init; } = 120_000; /// Maximale Wanduhr-Dauer des gesamten Laufs. public TimeSpan Timeout { get; init; } = TimeSpan.FromMinutes(3); /// Voreinstellung (moderat: 8 Schritte, 120k Tokens, 3 Minuten). public static AgentBudget Default { get; } = new(); } }