Use when the user wants to learn, be taught, be quizzed, or understand an idea across any domain — science, math, philosophy, code, law, politics, psychology, medicine, arts, or history — with active scaffolding.
中文简介正在准备中。当前显示原文说明。
This skill helps an LLM generate correct AxLearn code using @ax-llm/ax. Use when the user asks about self-improving agents, trace-backed learning, feedback-aware updates, or AxLearn modes.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Use this skill to generate AxLearn code that matches the current API.
AxLearn wraps an AxGen.teacher is for judging, synthesis, and reflection.runtimeAI is the model being improved.forward() and streamingForward() are inference-time APIs and auto-log traces when tracing is enabled.optimize() is offline learning.applyUpdate() is a bounded update API for continuous and playbook modes.ready() should be awaited before assuming checkpoints have been restored.improvement is the score delta from the previous/restored state.name.storage.teacher.runtimeAI if you call optimize() or applyUpdate().batch: offline prompt learning only.continuous: offline optimization plus bounded feedback-aware applyUpdate(...).playbook: structured context/playbook learning plus applyUpdate(...).import {
AxLearn,
ax,
ai,
type AxCheckpoint,
type AxStorage,
type AxTrace,
} from '@ax-llm/ax';
const storage: AxStorage = {
save: async (_name, _item) => {
// persist trace/checkpoint
},
load: async (_name, _query) => {
// return traces/checkpoints
return [];
},
};
const teacher = ai({
name: 'openai',
apiKey: process.env.OPENAI_APIKEY!,
});
const runtimeAI = ai({
name: 'openai',
apiKey: process.env.OPENAI_APIKEY!,
});
const gen = ax(`
customerQuery:string "User message" ->
supportReply:string "Agent reply"
`);
const agent = new AxLearn(gen, {
name: 'support-bot-v1',
storage,
teacher,
runtimeAI,
mode: 'continuous',
budget: 12,
examples: [
{
customerQuery: 'Where is my order?',
supportReply: 'Your order is in transit and should arrive in 2 days.',
},
{
customerQuery: 'I need a refund.',
supportReply: 'I can help with that. Please share your order number.',
},
],
generateExamples: false,
});
await agent.ready();
const prediction = await agent.forward(runtimeAI, {
customerQuery: 'My package is late.',
});
const traces = await agent.getTraces({ limit: 1 });
if (traces[0]) {
await agent.addFeedback(traces[0].id, {
score: 0,
label: 'needs-empathy',
comment: 'Acknowledge the frustration more directly.',
});
}
const result = await agent.optimize({
// Optional overrides
budget: 20,
});
console.log(result.mode);
console.log(result.score);
console.log(result.improvement);
console.log(result.checkpointVersion);
result.improvement is the gain relative to the prior/restored score.
Use applyUpdate(...) only in continuous or playbook mode.
continuous mode, example may be input-only.prediction is the observed runtime output being critiqued.example includes expected output fields, that expected-output row stays eligible for scored optimization.prediction row is feedback/reflection context, not a scored train/validation row by itself.playbook mode, getInstruction() returns the active composed prompt.const update = await agent.applyUpdate({
example: {
customerQuery: 'My package is late.',
},
prediction,
feedback: {
score: 0,
label: 'needs-empathy',
comment: 'Acknowledge the frustration more directly.',
},
});
mode: 'playbook' when the learned artifact should be structured guidance, not just an instruction tweak.ready().applyUpdate(...) in playbook mode performs an online structured update.getInstruction() should be treated as the active composed runtime prompt, even before optimization if the base prompt lives in the signature description.artifact.playbookSummary should match the persisted checkpoint state.artifactSummary.examples and usable traces become scored optimization rows.addFeedback(...) becomes reflection feedback for later optimization.example + prediction + feedback is used as an observed feedback event.const agent = new AxLearn(gen, {
name: 'agent-id',
storage,
teacher,
runtimeAI,
mode: 'batch', // 'batch' | 'continuous' | 'playbook'
budget: 20,
metric: async ({ prediction, example }) => {
return prediction.supportReply === example.supportReply ? 1 : 0;
},
criteria: 'accuracy and tone',
judgeOptions: {},
examples: [],
useTraces: true,
generateExamples: false,
synthCount: 20,
validationSplit: 0.2,
continuousOptions: {
feedbackWindowSize: 25,
maxRecentTraces: 100,
updateBudget: 4,
},
playbookOptions: {
maxEpochs: 2,
},
onTrace: (trace) => {
console.log(trace.id);
},
onProgress: (progress) => {
console.log(progress.round, progress.score);
},
});
type AxLearnResult = {
mode: 'batch' | 'continuous' | 'playbook';
score: number;
improvement: number;
checkpointVersion: number;
stats: {
trainingExamples: number;
validationExamples: number;
feedbackExamples: number;
durationMs: number;
mode: 'batch' | 'continuous' | 'playbook';
};
state?: {
mode: 'batch' | 'continuous' | 'playbook';
instruction?: string;
baseInstruction?: string;
score?: number;
continuous?: {
feedbackTraceCount?: number;
lastUpdateAt?: string;
};
playbook?: Record<string, unknown>;
artifactSummary?: Record<string, unknown>;
};
artifact?: {
playbook?: Record<string, unknown>;
playbookSummary?: {
feedbackEvents: number;
historyBatches: number;
bulletCount: number;
updatedAt?: string;
};
lastUpdateAt?: string;
feedbackExamples?: number;
};
};
AxStorage.save(name, item) receives either a trace or checkpoint.AxStorage.load(name, query) should return arrays of traces or checkpoints.AxLearn restores the newest one client-side.runtimeAI explicitly.ready() before relying on restored state.optimize() off the hot path.continuous mode when you want bounded feedback-aware updates.playbook mode when you want persistent structured guidance.prediction in applyUpdate(...).getInstruction() in playbook mode as the live composed prompt, not just the raw base instruction.teacher is the optimized runtime model.applyUpdate() in batch mode.addFeedback(...) or passing it to applyUpdate(...).prediction as the gold answer in continuous updates.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Use when the user wants to learn, be taught, be quizzed, or understand an idea across any domain — science, math, philosophy, code, law, politics, psychology, medicine, arts, or history — with active scaffolding.
中文简介正在准备中。当前显示原文说明。
This skill helps with using the @ax-llm/ax TypeScript library for building LLM applications. Use when the user asks about ax(), ai(), f(), s(), agent(), flow(), AxGen, AxAgent, AxFlow, signatures, streaming, or mentions @ax-llm/ax.
中文简介正在准备中。当前显示原文说明。
This skill helps an LLM generate correct AxAgent code using @ax-llm/ax. Use when the user asks about agent(), child agents, namespaced functions, discovery mode, shared fields, llmQuery(...), RLM code execution, recursionOptions, or agent runtime behavior. For tuning and eval with agent.optimize(...), use ax-agent-optimize.
中文简介正在准备中。当前显示原文说明。
This skill helps an LLM generate correct AxAgent tuning and evaluation code using @ax-llm/ax. Use when the user asks about agent.optimize(...), judgeOptions, eval datasets, optimization targets, saved optimizedProgram artifacts, or recursive optimization guidance.
中文简介正在准备中。当前显示原文说明。
This skill helps an LLM generate correct AI provider setup and configuration code using @ax-llm/ax. Use when the user asks about ai(), providers, models, presets, embeddings, extended thinking, context caching, or mentions OpenAI/Anthropic/Google/Azure/Groq/DeepSeek/Mistral/Cohere/Together/Ollama/HuggingFace/Reka/OpenRouter with @ax-llm/ax.
中文简介正在准备中。当前显示原文说明。
This skill helps an LLM generate correct AxFlow workflow code using @ax-llm/ax. Use when the user asks about flow(), AxFlow, workflow orchestration, parallel execution, DAG workflows, conditional routing, map/reduce patterns, or multi-node AI pipelines.
中文简介正在准备中。当前显示原文说明。