Skip to content

Laguna models intermittently inline reasoning as <think> tags in content instead of reasoning_content field #43

Description

@23wwwtt

Summary

When calling Laguna S 2.1 through the OpenAI-compatible endpoint (https://inference.poolside.ai/v1) from a third-party client (opencode 1.18.19 using @ai-sdk/openai-compatible), some responses carry the model's chain-of-thought inline in content, delimited by <think>...</think> tags, instead of populating the separate reasoning_content field.

The client-side model definition declares interleaved reasoning via interleaved: { field: "reasoning_content" }, and many requests do honor it. But intermittently, a response arrives as a single content string containing:

<long reasoning monologue ...></think><final answer>

For those messages the reported reasoning token count is 0 at the message level, even though a full reasoning trace is present in the text.

Expected behavior

Consistent transport of reasoning across all requests — either always via the dedicated reasoning_content field, or (if inline tags are part of the wire format) documented so clients can parse it deterministically.

Steps to reproduce

Use any OpenAI-compatible client against inference.poolside.ai/v1 with model poolside/laguna-s-2.1, send a multi-step coding task requiring tool calls, and inspect raw streamed deltas across several turns. Some turns will show <think> blocks inside content deltas rather than reasoning_content deltas.

Impact

  • Third-party UIs render the chain-of-thought as final assistant output (users see raw English monologue text).
  • Usage/billing attribution is skewed: reasoning tokens are counted as regular output tokens on affected messages.
  • Clients cannot reliably separate "thinking" from "answer" without ad-hoc parsing.

Request

Please either fix the inconsistency (always emit reasoning_content) or document the inline <think> convention officially so client integrations can handle it robustly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions