在运行时选择模型
model、models、instructions、temperature、maxOutputTokens 和 topP 设置动态值。
从工具更新应用上下文
工具可通过context.setContext() 为后续轮次保存信息:
仅覆盖下一轮
如果工具需要更改下一次请求,但不永久修改 Agent 定义,请使用nextTurnParams:
Documentation Index
Fetch the complete documentation index at: /docs/llms.txt
Use this file to discover all available pages before exploring further.
在 Agent 各轮次之间更改模型、指令、采样和工具。
type ResearchContext = {
fast: boolean;
};
const agent = createAgent<string, string, ResearchContext>({
id: "research-agent",
model: ({ context }) =>
context?.fast ? "phaseo/free" : "anthropic/claude-sonnet-4",
instructions: ({ numberOfTurns }) =>
`Research turn ${numberOfTurns}. Cite the evidence you use.`,
});
model、models、instructions、temperature、maxOutputTokens 和 topP 设置动态值。
context.setContext() 为后续轮次保存信息:
const chooseMode = defineTool({
id: "choose-mode",
async execute(input: { fast: boolean }, context) {
context.setContext({ fast: input.fast });
return { selected: input.fast ? "fast" : "thorough" };
},
});
nextTurnParams:
const broadenSearch = defineTool({
id: "broaden-search",
nextTurnParams: {
temperature: 0.3,
maxOutputTokens: 2_000,
},
async execute() {
return { broadened: true };
},
});