Skip to main content

Core Concepts

ACE = AI Computing Explorer

This document defines the core concepts used in Open ACE: Request, Message, Conversation, and Session.

Concept Definitions

1. Request (API Call)

Definition: Each API call to the cloud LLM counts as 1 Request. In logs, this is typically identified by the auth_type field.

Example:

  • User sends a message → 1 API call → 1 Request
  • AI calls a tool → 1 API call → 1 Request
  • AI returns final response → 1 API call → 1 Request

Note: One Conversation may contain multiple Requests.


2. Message

Definition: All messages by role:

TypeRoleDescription
message_useruserMessages sent by user
message_assistantassistantAI-generated responses
message_toolresulttoolResultTool execution results
message_errorerrorError messages

Example:

user: "Check the weather" → message_user +1
assistant: "Let me check..." → message_assistant +1
toolResult: {weather data} → message_toolresult +1
assistant: "It's sunny today..." → message_assistant +1

3. Session

Definition: A tool-level session (qwen code, claude code, openclaw).

Boundaries:

  • Start: User launches the tool process
  • End: Process exits or user runs /clear command

Note: One Session contains multiple Conversations.


4. Conversation

Definition: One round of dialogue, from user sending a message to AI completing the response (including tool calls).

Boundaries:

  • Start: User sends a message
  • End: AI completes the final response

Example:

Conversation 1:
user: "Check the weather"
assistant: "Let me check..."
toolResult: {weather data}
assistant: "It's sunny today..." ← Conversation ends

Conversation 2:
user: "What about tomorrow?"
assistant: "Tomorrow..."

Concept Relationship

Session (Tool Session)
├── Conversation 1 (One Round)
│ ├── Request 1 (API call: user message)
│ ├── Request 2 (API call: AI calls tool)
│ ├── Request 3 (API call: AI returns result)
│ ├── message_user: 1
│ ├── message_assistant: 2
│ └── message_toolresult: 1
├── Conversation 2
│ └── ...
└── Conversation N

Statistics Example

Conversation 1:
user: "Check the weather"

├── Request 1 ──> assistant: "Let me check..." (message_assistant +1)

├── Request 2 ──> toolResult: {weather data} (message_toolresult +1)

└── Request 3 ──> assistant: "It's sunny..." (message_assistant +1)

Conversation 2:
user: "What about tomorrow?"

└── Request 4 ──> assistant: "Tomorrow..."

Results:

  • Requests: 4 API calls
  • Messages: 6 (2 user + 3 assistant + 1 toolResult)
  • Conversations: 2 rounds

Database Fields

FieldDescription
agent_session_idTool session identifier (process level)
conversation_idConversation identifier
feishu_conversation_idFeishu conversation identifier
auth_typeAPI call indicator (for Request counting)