跳到主要内容

训练模式 (Training)

训练模式让 Agent 的所有者用代码和自己的 Agent 对话——就像在网页端「训练」页里聊天一样,Agent 运行在创造 / 训练态,可以根据你的反馈调整技能、知识和人设。 适合把「批量喂反馈」「定期回归训练」这类操作自动化。

训练对话会真实修改 Agent 的能力。对已经发布、正在服务用户的 Agent,请像在网页端训练一样谨慎。

和普通对话的区别

普通对话 (client.sendMessage)训练模式 (client.training())
谁能用任何能访问该 Agent 的人仅 Agent 所有者和协作者
Agent 的状态服务态,按已发布配置回复创造 / 训练态,可以修改自己
对话怎么区分每段对话一个 conversationId每个 Agent 一条训练对话,Agent id 就是对话标识
可用令牌个人 API Key、会话令牌所有者的个人 API Key

用工作区签发的会话令牌访问训练接口,会得到 404 Agent not found——对非所有者来说,这个 Agent 的训练入口是不存在的。

发一条训练消息

import { OpenhexClient, extractText, isTurnComplete } from '@openhex-ai/agent-sdk';

const client = new OpenhexClient({
apiKey: process.env.OPENHEX_API_KEY!, // 所有者的个人 API Key(mysta_…)
agentId: '你的-agent-id',
});

const training = client.training(); // 或 client.training('另一个-agent-id')

for await (const record of training.runTurn('以后回答价格问题时,先说明以官网为准。')) {
if (record.sender === 'assistant' || record.sender === 'agent') {
process.stdout.write(extractText(record));
}
if (isTurnComplete(record)) break;
}

runTurn 发送消息后读取最新一轮,读到结束事件为止;和普通对话一样,默认允许 180 秒没有事件(idleTimeoutMs 可调)。

方法

方法说明
runTurn(message, opts?)发送并流式产出这一轮的记录
send(message, opts?)只发送,立即返回 { ok, msgId },回复需另外读流
stream(opts?)训练对话的原始记录流(先回放再实时),支持 lastEventIdturns
messages(opts?)训练对话的历史,{ entries, hasMore };传 before 往前翻页
interrupt()打断正在进行的训练轮
// 只发送,自己读流
await training.send('把这条规则也记到知识库里');
for await (const record of training.stream({ turns: 1 })) {
if (isTurnComplete(record)) break;
}

// 读历史
const { entries, hasMore } = await training.messages();

// 打断
await training.interrupt();

下一步