0.97.0

Added

  • Модернизация системного промпта (референс — OpenClaw): промпт разбит на самостоятельные секции вместо монолитного buildIdentity():
  • ## Safety — расширенная секция: запрет self-preservation, resource acquisition, power-seeking, bypass safeguards.
  • ## Execution Bias — 7 пунктов вместо 2: “Actionable request: act in this turn”, “Weak/empty tool result: vary query”, “Mutable facts need live checks” и т.д.
  • ## Tool Call Style — новая секция: “Routine low-risk calls: no narration”, guidance по spawn, timeouts.
  • ## Self-Update — guidance: обновление только по явному запросу.
  • ## Sub-Agent Delegation — guidance по spawn (условно, если spawn tool доступен).
  • ## Heartbeats — guidance по heartbeat polling.
  • ## Memory Recall — улучшенный guidance по memory_search (scope=‘graph’/‘documents’/‘facts’).
  • Skills: добавлен заголовочный guidance (“One skill active at a time. External API writes: batch when safe”).
  • Prompt caching stratification: системный промпт теперь собирается из 3 system-сообщений с разными CacheLevel:
  • CacheStable — Identity + Safety + Security + Execution Bias + Tool Call Style + Tools + Skills + Soul (кешируется провайдером).
  • CacheDynamic — RAG (facts + documents + KG) (НЕ кешируется, меняется каждый запрос).
  • Для Anthropic: каждый system block с CacheStable/CacheSemiStable получает cache_control: {type: "ephemeral"}.
  • Для OpenAI: dynamic system messages переносятся перед первым user message, stable prefix кешируется автоматически.
  • Cached tokens tracking:
  • Anthropic: CacheReadInputTokens и CacheCreationInputTokens парсятся из ответа (non-streaming и streaming).
  • OpenAI: PromptTokensDetails.CachedTokens парсится из ответа.
  • Store: LLMUsageEntry.CacheCreationTokens — новое поле, SQLite/PostgreSQL INSERT/SELECT обновлены.
  • Миграция 054_cache_creation_tokens для SQLite и PostgreSQL.
  • LLM log: UsagePayload.CacheCreationTokens логируется.
  • Metrics: LLMTokensCacheCreate — новый счётчик, Prometheus metric taigaclaw_llm_tokens_cache_creation_total.

Changed

  • buildIdentity() больше не содержит Autonomy, Execution Bias, Anti-Narration, Security, System Info, Provider Hints — всё вынесено в отдельные методы.
  • BuildMessages возвращает 3 system-сообщения вместо одного (RAG в отдельном блоке).
  • Anthropic: убран порог len(systemText) > 3072 для cache_control — кешируется всегда.
  • Anthropic: convertRequest возвращает []anthropic.TextBlockParam вместо string.