AS AgentScopeAPI 手册 / API Reference

RunExecutionContext

public class RunExecutionContext
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:73–284

运行执行上下文,对智能体行为进行评测、追踪与可观测性分析。位于 io.agentscope.core.training.runner 包。核心成员包括 create、addMsgId、getMsgIds、getMsgIdCount、getTaskId、getRunId。

Run Execution Context

Encapsulates the complete execution information for a single Run.

Core Concepts:

  • Task: Represents a user's original request (business-level unique identifier)

  • Run: A specific execution of the same Task (experiment/training level)

  • RunExecutionContext: Encapsulates the execution context for one Run

Relationship Example:


Task "task-001" (User asks: "What's the weather today?")
├─ Run "0" → RunExecutionContext (msgIds=[msg-1, msg-2], msgs=[...], reward=0.8)
├─ Run "1" → RunExecutionContext (msgIds=[msg-3, msg-4], msgs=[...], reward=0.9)
└─ Run "2" → RunExecutionContext (msgIds=[msg-5, msg-6], msgs=[...], reward=0.85)

Data Contents:

  • Task ID: Unique identifier for user request

  • Run ID: The Nth execution of this Task (incrementing from "0")

  • msg_ids: All message IDs from LLM interactions in this Run (returned from Trinity API)

  • msgs: All messages from Agent memory in this Run (raw data for reward calculation)

  • Timing info: Start time and duration of this Run

Lifecycle:


1. TrainingRouter creates RunExecutionContext (corresponds to one Run)
2. Passed to TrinityModelAdapter (automatically collects msg_ids)
3. Shadow Agent execution completes, all data collected
4. TrainingRouter calculates reward
5. TrainingRouter submits Feedback using (taskId, runId, msg_ids, reward)
6. Registered to TaskExecutionRegistry (optional, for later queries)

Thread Safety:

  • Uses CopyOnWriteArrayList to store msg_ids

  • Supports concurrent additions (although currently executed synchronously)

方法摘要Method Summary

方法Method说明Description
public static RunExecutionContext create(String taskId, String runId)
static
创建新的运行执行上下文。
Create new Run execution context
public void addMsgId(String msgId)
添加消息标识。
Add Message ID
public List<String> getMsgIds()
获取所有消息 IDs。
Get all Message IDs
public int getMsgIdCount()
获取消息 IDs 数量。
Get Message IDs count
public String getTaskId()
获取任务标识。
Get Task ID
public String getRunId()
获取运行标识。
Get Run ID
public long getStartTime()
获取运行启动时间。
Get Run start time
public long getDuration()
获取运行执行时长。
Get Run execution duration
public boolean hasMsgIds()
判断是否具有 `hasMsgIds`。
Check if msg_ids have been collected
public void addMsg(Msg msg)
添加消息。
Add Message
public void setMessages(List<Msg> messages)
设置消息。
Batch set Messages (usually obtained from agent memory)
public List<Msg> getMessages()
获取所有消息。
Get all Messages
public int getMessageCount()
获取消息数量。
Get Messages count
public boolean hasMessages()
判断是否具有消息。
Check if messages have been collected
public String toString()
返回 `toString` 结果。
Returns the to string.
public boolean equals(Object o)
设置该参数。
Performs the equals operation.
public int hashCode()
返回 `hashCode` 结果。
Returns the hash code.

方法详情Method Detail

create

public static RunExecutionContext create(String taskId, String runId)
static

创建新的运行执行上下文。

Create new Run execution context Usage scenario: Created by TrainingRouter after intercepting Agent call.

参数Parameters
名称Name类型Type说明Description
taskIdString任务标识(类型 `String`)。Task ID
runIdString运行标识(类型 `String`)。Run ID
返回Returns RunExecutionContext
返回RunExecutionContext。Run execution context instance
抛出Throws
  • IllegalArgumentException 可能抛出 `IllegalArgumentException`。if taskId or runId is null/empty
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:121–123

addMsgId

public void addMsgId(String msgId)

添加消息标识。

Add Message ID Message ID is extracted from Trinity Chat API response (response.getId()).

参数Parameters
名称Name类型Type说明Description
msgIdString消息标识(类型 `String`)。Message ID (ignored if null or empty)
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:134–138

getMsgIds

public List<String> getMsgIds()

获取所有消息 IDs。

Get all Message IDs Return value: Returns a new List copy to prevent external modification.

返回Returns List<String>
返回列出。Message IDs list (unmodifiable)
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:147–149

getMsgIdCount

public int getMsgIdCount()

获取消息 IDs 数量。

Get Message IDs count

返回Returns int
返回数值结果。Number of msg_ids
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:156–158

getTaskId

public String getTaskId()

获取任务标识。

Get Task ID

返回Returns String
返回字符串结果。Task ID
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:165–167

getRunId

public String getRunId()

获取运行标识。

Get Run ID

返回Returns String
返回字符串结果。Run ID
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:174–176

getStartTime

public long getStartTime()

获取运行启动时间。

Get Run start time

返回Returns long
返回数值结果。Start time (millisecond timestamp)
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:183–185

getDuration

public long getDuration()

获取运行执行时长。

Get Run execution duration

返回Returns long
返回数值结果。Execution duration (milliseconds)
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:192–194

hasMsgIds

public boolean hasMsgIds()

判断是否具有 hasMsgIds。

Check if msg_ids have been collected

返回Returns boolean
返回布尔值,表示判断结果。true if at least one msg_id exists
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:201–203

addMsg

public void addMsg(Msg msg)

添加消息。

Add Message Thread-safe: This method can be called concurrently.

参数Parameters
名称Name类型Type说明Description
msgMsg消息(类型 `Msg`)。Message (ignored if null)
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:212–216

setMessages

public void setMessages(List<Msg> messages)

设置消息。

Batch set Messages (usually obtained from agent memory) Clears existing messages and adds new message list.

参数Parameters
名称Name类型Type说明Description
messagesList<Msg>消息列表(类型 `List`)。Message list (clears existing messages if null or empty)
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:227–232

getMessages

public List<Msg> getMessages()

获取所有消息。

Get all Messages Return value: Returns a new List copy to prevent external modification.

返回Returns List<Msg>
返回列出。Messages list (unmodifiable)
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:241–243

getMessageCount

public int getMessageCount()

获取消息数量。

Get Messages count

返回Returns int
返回数值结果。Number of msgs
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:250–252

hasMessages

public boolean hasMessages()

判断是否具有消息。

Check if messages have been collected

返回Returns boolean
返回布尔值,表示判断结果。true if at least one message exists
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:259–261

toString

public String toString()

返回 toString 结果。

Returns the to string.

返回Returns String
返回字符串结果。Returns a string.
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:263–268

equals

public boolean equals(Object o)

设置该参数。

Performs the equals operation.

参数Parameters
名称Name类型Type说明Description
oObjecto(类型 `Object`)。The o.
返回Returns boolean
返回布尔值,表示判断结果。Returns a boolean result.
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:270–276

hashCode

public int hashCode()

返回 hashCode 结果。

Returns the hash code.

返回Returns int
返回数值结果。Returns a numeric result.
源码Source io/agentscope/core/training/runner/RunExecutionContext.java:278–283
基于官方固定版本源码静态生成Generated from pinned official sources · Python 2.0.11 · Java 2.0.4
签名与文档为静态抽取;如有疑问请以源码为准。Signatures and docs are extracted statically; verify against the source when in doubt.