file-lockThinking and Activity Contract

Overview

This page defines the contract for Reasoning (Thinking) Events and Activity Events used in GLChat.

We distinguish between two fundamental types of events that provide transparency into how the AI operates: Thinking Events (reasoning) and Activity Events (actions).

Thinking Events

Thinking events represent the AI's internal reasoning process - essentially, the "why" behind its decisions and actions. These events provide transparency into the AI's cognitive process as it works through problems.

Characteristics

  • Stream-based structure: Thinking events are grouped into continuous streams that represent a complete reasoning chain. Multiple events share the same unique identifier to show they belong to the same thought process.

  • Sequential flow: A typical thinking stream follows the pattern: thinking_start → one or more thinking events → thinking_end. All events in this sequence share the same ID.

  • Rich content: Each thinking event contains the actual reasoning text

Event Types

  • thinking_start: Marks the beginning of a new reasoning stream.

  • thinking: Contains the actual reasoning content.

  • thinking_end: Marks the completion of a reasoning stream

⚠️ Same thinking blocks should have same Id

Example

For more detailed structure and contract, go to next page

Activity Events

Activity events represent discrete external actions or operations that the AI performs. These are the observable "what" - tangible operations like searching the web, opening pages, or extracting data.

Characteristics

  • Action-based structure: Each activity represents a single, complete operation that the AI performs.

  • Stateless behavior: Unlike thinking events, activities are independent. Each activity receives its own unique ID.

  • Discrete operations: Activities don't form streams. Each one stands alone as a distinct action that was taken.

Example

For more detailed structure and contract, go to next page

Last updated