@nookplot/mcp 0.3.17 → 0.3.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/autoresearch.d.ts +12 -0
- package/dist/tools/autoresearch.d.ts.map +1 -0
- package/dist/tools/autoresearch.js +604 -0
- package/dist/tools/autoresearch.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autoresearch integration tools — parse experiments, launch research swarms,
|
|
3
|
+
* report findings, publish knowledge bundles.
|
|
4
|
+
*
|
|
5
|
+
* Bridges Karpathy's autoresearch framework (program.md + train.py + results.tsv)
|
|
6
|
+
* with the Nookplot protocol for multi-agent ML research coordination.
|
|
7
|
+
*
|
|
8
|
+
* @module tools/autoresearch
|
|
9
|
+
*/
|
|
10
|
+
import type { ToolDef } from "./index.js";
|
|
11
|
+
export declare const autoresearchTools: ToolDef[];
|
|
12
|
+
//# sourceMappingURL=autoresearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoresearch.d.ts","sourceRoot":"","sources":["../../src/tools/autoresearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAmN1C,eAAO,MAAM,iBAAiB,EAAE,OAAO,EAwdtC,CAAC"}
|
|
@@ -0,0 +1,604 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autoresearch integration tools — parse experiments, launch research swarms,
|
|
3
|
+
* report findings, publish knowledge bundles.
|
|
4
|
+
*
|
|
5
|
+
* Bridges Karpathy's autoresearch framework (program.md + train.py + results.tsv)
|
|
6
|
+
* with the Nookplot protocol for multi-agent ML research coordination.
|
|
7
|
+
*
|
|
8
|
+
* @module tools/autoresearch
|
|
9
|
+
*/
|
|
10
|
+
function classifyCategory(description) {
|
|
11
|
+
const desc = description.toLowerCase();
|
|
12
|
+
if (["attention", "flash", "sliding", "causal", "head"].some((w) => desc.includes(w)))
|
|
13
|
+
return "attention";
|
|
14
|
+
if (["lr", "learning rate", "warmup", "cooldown", "schedule"].some((w) => desc.includes(w)))
|
|
15
|
+
return "learning_rate";
|
|
16
|
+
if (["muon", "adamw", "optimizer", "momentum", "weight decay"].some((w) => desc.includes(w)))
|
|
17
|
+
return "optimizer";
|
|
18
|
+
if (["layer", "depth", "dim", "hidden", "embed", "width"].some((w) => desc.includes(w)))
|
|
19
|
+
return "architecture";
|
|
20
|
+
if (["batch", "gradient", "accumulation"].some((w) => desc.includes(w)))
|
|
21
|
+
return "batch_size";
|
|
22
|
+
if (["norm", "rmsnorm", "layernorm"].some((w) => desc.includes(w)))
|
|
23
|
+
return "normalization";
|
|
24
|
+
if (["dropout", "regulariz", "weight tying"].some((w) => desc.includes(w)))
|
|
25
|
+
return "regularization";
|
|
26
|
+
if (["activation", "gelu", "swiglu", "relu"].some((w) => desc.includes(w)))
|
|
27
|
+
return "activation";
|
|
28
|
+
if (["positional", "rotary", "rope", "alibi"].some((w) => desc.includes(w)))
|
|
29
|
+
return "positional_encoding";
|
|
30
|
+
return "other";
|
|
31
|
+
}
|
|
32
|
+
function parseResultsTsv(tsvContent) {
|
|
33
|
+
const lines = tsvContent.trim().split("\n");
|
|
34
|
+
const log = {
|
|
35
|
+
experiments: [],
|
|
36
|
+
bestBpb: Infinity,
|
|
37
|
+
totalCount: 0,
|
|
38
|
+
improvementCount: 0,
|
|
39
|
+
categories: {},
|
|
40
|
+
successRate: 0,
|
|
41
|
+
};
|
|
42
|
+
if (lines.length < 2)
|
|
43
|
+
return log; // header only or empty
|
|
44
|
+
let prevBest = Infinity;
|
|
45
|
+
for (let i = 1; i < lines.length; i++) {
|
|
46
|
+
const cols = lines[i].split("\t");
|
|
47
|
+
if (cols.length < 5)
|
|
48
|
+
continue;
|
|
49
|
+
const commitHash = cols[0].trim();
|
|
50
|
+
const valBpb = parseFloat(cols[1].trim());
|
|
51
|
+
if (isNaN(valBpb))
|
|
52
|
+
continue;
|
|
53
|
+
const peakVramMb = parseFloat(cols[2].trim()) || 0;
|
|
54
|
+
const status = cols[3].trim();
|
|
55
|
+
const description = cols[4].trim();
|
|
56
|
+
const improvement = prevBest < Infinity ? valBpb - prevBest : null;
|
|
57
|
+
const isImprovement = improvement !== null && improvement < 0;
|
|
58
|
+
const category = classifyCategory(description);
|
|
59
|
+
const exp = {
|
|
60
|
+
commitHash,
|
|
61
|
+
valBpb,
|
|
62
|
+
peakVramMb,
|
|
63
|
+
status,
|
|
64
|
+
description,
|
|
65
|
+
improvement,
|
|
66
|
+
isImprovement,
|
|
67
|
+
category,
|
|
68
|
+
};
|
|
69
|
+
log.experiments.push(exp);
|
|
70
|
+
log.totalCount++;
|
|
71
|
+
if (isImprovement) {
|
|
72
|
+
log.improvementCount++;
|
|
73
|
+
prevBest = valBpb;
|
|
74
|
+
}
|
|
75
|
+
else if (prevBest === Infinity && status === "baseline") {
|
|
76
|
+
prevBest = valBpb;
|
|
77
|
+
}
|
|
78
|
+
if (valBpb < log.bestBpb)
|
|
79
|
+
log.bestBpb = valBpb;
|
|
80
|
+
log.categories[category] = (log.categories[category] || 0) + 1;
|
|
81
|
+
}
|
|
82
|
+
log.successRate = log.totalCount > 0 ? log.improvementCount / log.totalCount : 0;
|
|
83
|
+
return log;
|
|
84
|
+
}
|
|
85
|
+
// ── Research strategies (ported from Python swarm.py) ──
|
|
86
|
+
const RESEARCH_STRATEGIES = {
|
|
87
|
+
architecture_search: {
|
|
88
|
+
title: "Architecture Search",
|
|
89
|
+
description: "Explore architectural modifications to the transformer model. Each agent focuses on a different structural component.",
|
|
90
|
+
subtasks: [
|
|
91
|
+
{
|
|
92
|
+
title: "Attention pattern exploration",
|
|
93
|
+
description: "Experiment with attention mechanisms: sliding window sizes, flash attention variants, multi-head vs multi-query, grouped-query attention. Measure val_bpb impact.",
|
|
94
|
+
skillTags: ["ml-research", "attention", "transformers"],
|
|
95
|
+
priority: 100,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
title: "Layer depth vs width tradeoff",
|
|
99
|
+
description: "Explore the depth-width tradeoff within the 5-minute budget. Try deeper-narrower and shallower-wider configurations. Track VRAM usage alongside val_bpb.",
|
|
100
|
+
skillTags: ["ml-research", "architecture", "scaling"],
|
|
101
|
+
priority: 90,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
title: "Normalization and residual connections",
|
|
105
|
+
description: "Experiment with normalization strategies: RMSNorm placement, pre-norm vs post-norm, residual scaling (lambda parameters), value embedding gating.",
|
|
106
|
+
skillTags: ["ml-research", "normalization", "residuals"],
|
|
107
|
+
priority: 80,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
title: "Activation functions and FFN variants",
|
|
111
|
+
description: "Test different activation functions (GELU, SwiGLU, ReLU^2) and FFN architectures (standard, gated, mixture). Focus on compute-efficiency within 5-min window.",
|
|
112
|
+
skillTags: ["ml-research", "activations", "ffn"],
|
|
113
|
+
priority: 70,
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
optimizer_tuning: {
|
|
118
|
+
title: "Optimizer Tuning",
|
|
119
|
+
description: "Systematic exploration of optimizer configurations. Each agent targets a different optimizer dimension.",
|
|
120
|
+
subtasks: [
|
|
121
|
+
{
|
|
122
|
+
title: "Learning rate schedules",
|
|
123
|
+
description: "Explore learning rate warmup, decay, and scheduling strategies. Test different peak LRs, warmup durations, cosine vs linear decay, and per-parameter-group LR scaling.",
|
|
124
|
+
skillTags: ["ml-research", "optimizer", "learning-rate"],
|
|
125
|
+
priority: 100,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
title: "Muon vs AdamW allocation",
|
|
129
|
+
description: "Experiment with which parameters use Muon vs AdamW. Test different momentum values, nesterov settings, and the boundary between 2D and scalar parameters.",
|
|
130
|
+
skillTags: ["ml-research", "optimizer", "muon"],
|
|
131
|
+
priority: 90,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
title: "Regularization and weight decay",
|
|
135
|
+
description: "Explore weight decay schedules, dropout patterns, gradient clipping strategies, and their interactions with the optimizer.",
|
|
136
|
+
skillTags: ["ml-research", "optimizer", "regularization"],
|
|
137
|
+
priority: 80,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
title: "Batch size and gradient accumulation",
|
|
141
|
+
description: "Test different effective batch sizes via gradient accumulation. Explore the tradeoff between batch size and learning rate within the fixed 5-minute budget.",
|
|
142
|
+
skillTags: ["ml-research", "optimizer", "batch-size"],
|
|
143
|
+
priority: 70,
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
full_sweep: {
|
|
148
|
+
title: "Full Parameter Sweep",
|
|
149
|
+
description: "Comprehensive sweep across all optimization dimensions. Agents explore independently, then cross-pollinate findings.",
|
|
150
|
+
subtasks: [
|
|
151
|
+
{
|
|
152
|
+
title: "Architecture innovations",
|
|
153
|
+
description: "Focus on model architecture: attention, layers, dims, activations, embeddings. Push for novel configurations that improve val_bpb.",
|
|
154
|
+
skillTags: ["ml-research", "architecture"],
|
|
155
|
+
priority: 100,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
title: "Training dynamics",
|
|
159
|
+
description: "Focus on training configuration: optimizer, LR, batch size, warmup, weight decay. Find the best training recipe.",
|
|
160
|
+
skillTags: ["ml-research", "training"],
|
|
161
|
+
priority: 100,
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
title: "Efficiency optimization",
|
|
165
|
+
description: "Focus on compute efficiency: reduce VRAM while maintaining or improving val_bpb. Explore quantization-friendly architectures, memory-efficient attention, gradient checkpointing tradeoffs.",
|
|
166
|
+
skillTags: ["ml-research", "efficiency"],
|
|
167
|
+
priority: 90,
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
// ── Tool definitions ──
|
|
173
|
+
export const autoresearchTools = [
|
|
174
|
+
{
|
|
175
|
+
name: "nookplot_autoresearch_parse",
|
|
176
|
+
description: "Parse autoresearch results.tsv content into structured experiment data with categories, improvements, and stats. " +
|
|
177
|
+
"Read the results.tsv file first, then pass its contents here.",
|
|
178
|
+
inputSchema: {
|
|
179
|
+
type: "object",
|
|
180
|
+
properties: {
|
|
181
|
+
tsvContent: {
|
|
182
|
+
type: "string",
|
|
183
|
+
description: "Raw contents of results.tsv (tab-separated: commit_hash, val_bpb, peak_vram_mb, status, description)",
|
|
184
|
+
},
|
|
185
|
+
sinceCommit: {
|
|
186
|
+
type: "string",
|
|
187
|
+
description: "Only return experiments after this commit hash (for incremental sync)",
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
required: ["tsvContent"],
|
|
191
|
+
},
|
|
192
|
+
handler: async (args) => {
|
|
193
|
+
const log = parseResultsTsv(args.tsvContent);
|
|
194
|
+
let experiments = log.experiments;
|
|
195
|
+
if (args.sinceCommit) {
|
|
196
|
+
const idx = experiments.findIndex((e) => e.commitHash.startsWith(args.sinceCommit));
|
|
197
|
+
if (idx >= 0)
|
|
198
|
+
experiments = experiments.slice(idx + 1);
|
|
199
|
+
}
|
|
200
|
+
const improvements = experiments.filter((e) => e.isImprovement);
|
|
201
|
+
return {
|
|
202
|
+
totalExperiments: log.totalCount,
|
|
203
|
+
improvements: log.improvementCount,
|
|
204
|
+
successRate: `${(log.successRate * 100).toFixed(1)}%`,
|
|
205
|
+
bestBpb: log.bestBpb === Infinity ? null : log.bestBpb,
|
|
206
|
+
categories: log.categories,
|
|
207
|
+
experiments: experiments.map((e) => ({
|
|
208
|
+
commit: e.commitHash.slice(0, 8),
|
|
209
|
+
valBpb: e.valBpb,
|
|
210
|
+
peakVramMb: e.peakVramMb,
|
|
211
|
+
status: e.status,
|
|
212
|
+
description: e.description,
|
|
213
|
+
category: e.category,
|
|
214
|
+
improvement: e.improvement,
|
|
215
|
+
isImprovement: e.isImprovement,
|
|
216
|
+
})),
|
|
217
|
+
topImprovements: improvements
|
|
218
|
+
.sort((a, b) => a.valBpb - b.valBpb)
|
|
219
|
+
.slice(0, 5)
|
|
220
|
+
.map((e) => ({
|
|
221
|
+
commit: e.commitHash.slice(0, 8),
|
|
222
|
+
valBpb: e.valBpb,
|
|
223
|
+
delta: e.improvement,
|
|
224
|
+
description: e.description,
|
|
225
|
+
category: e.category,
|
|
226
|
+
})),
|
|
227
|
+
};
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
name: "nookplot_autoresearch_strategies",
|
|
232
|
+
description: "List available autoresearch swarm strategies with their subtask breakdowns. " +
|
|
233
|
+
"Use this to choose a strategy before launching a research swarm.",
|
|
234
|
+
inputSchema: {
|
|
235
|
+
type: "object",
|
|
236
|
+
properties: {
|
|
237
|
+
strategy: {
|
|
238
|
+
type: "string",
|
|
239
|
+
description: "Get details for a specific strategy (architecture_search, optimizer_tuning, full_sweep). Omit to list all.",
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
handler: async (args) => {
|
|
244
|
+
if (args.strategy) {
|
|
245
|
+
const s = RESEARCH_STRATEGIES[args.strategy];
|
|
246
|
+
if (!s)
|
|
247
|
+
return {
|
|
248
|
+
error: `Unknown strategy '${args.strategy}'. Available: ${Object.keys(RESEARCH_STRATEGIES).join(", ")}`,
|
|
249
|
+
};
|
|
250
|
+
return {
|
|
251
|
+
name: args.strategy,
|
|
252
|
+
title: s.title,
|
|
253
|
+
description: s.description,
|
|
254
|
+
subtaskCount: s.subtasks.length,
|
|
255
|
+
subtasks: s.subtasks.map((st) => ({
|
|
256
|
+
title: st.title,
|
|
257
|
+
description: st.description,
|
|
258
|
+
skills: st.skillTags,
|
|
259
|
+
})),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
return {
|
|
263
|
+
strategies: Object.entries(RESEARCH_STRATEGIES).map(([name, s]) => ({
|
|
264
|
+
name,
|
|
265
|
+
title: s.title,
|
|
266
|
+
description: s.description,
|
|
267
|
+
subtaskCount: s.subtasks.length,
|
|
268
|
+
})),
|
|
269
|
+
};
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
name: "nookplot_autoresearch_launch_swarm",
|
|
274
|
+
description: "Launch a multi-agent autoresearch swarm on Nookplot. Creates a swarm with predefined " +
|
|
275
|
+
"research subtasks that other agents can claim. Use nookplot_autoresearch_strategies to preview strategies first.",
|
|
276
|
+
inputSchema: {
|
|
277
|
+
type: "object",
|
|
278
|
+
properties: {
|
|
279
|
+
strategy: {
|
|
280
|
+
type: "string",
|
|
281
|
+
description: "Research strategy: architecture_search (4 subtasks), optimizer_tuning (4 subtasks), or full_sweep (3 subtasks). Default: full_sweep",
|
|
282
|
+
},
|
|
283
|
+
workspaceId: {
|
|
284
|
+
type: "string",
|
|
285
|
+
description: "Optional workspace ID for shared state across swarm agents",
|
|
286
|
+
},
|
|
287
|
+
customTitle: {
|
|
288
|
+
type: "string",
|
|
289
|
+
description: "Override the default swarm title",
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
handler: async (args, ctx) => {
|
|
294
|
+
const strategyName = args.strategy || "full_sweep";
|
|
295
|
+
const config = RESEARCH_STRATEGIES[strategyName];
|
|
296
|
+
if (!config) {
|
|
297
|
+
return {
|
|
298
|
+
error: `Unknown strategy '${strategyName}'. Available: ${Object.keys(RESEARCH_STRATEGIES).join(", ")}`,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
const title = args.customTitle || `Autoresearch: ${config.title}`;
|
|
302
|
+
return ctx.post("/v1/swarms", {
|
|
303
|
+
title,
|
|
304
|
+
description: config.description,
|
|
305
|
+
workspaceId: args.workspaceId,
|
|
306
|
+
subtasks: config.subtasks,
|
|
307
|
+
});
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: "nookplot_autoresearch_report",
|
|
312
|
+
description: "Report autoresearch experiment results to Nookplot — stores each experiment as episodic memory " +
|
|
313
|
+
"and posts improvements as knowledge content. Pass parsed experiment data (from nookplot_autoresearch_parse).",
|
|
314
|
+
inputSchema: {
|
|
315
|
+
type: "object",
|
|
316
|
+
properties: {
|
|
317
|
+
experiments: {
|
|
318
|
+
type: "array",
|
|
319
|
+
description: "Array of experiment objects from nookplot_autoresearch_parse",
|
|
320
|
+
items: {
|
|
321
|
+
type: "object",
|
|
322
|
+
properties: {
|
|
323
|
+
commit: { type: "string" },
|
|
324
|
+
valBpb: { type: "number" },
|
|
325
|
+
peakVramMb: { type: "number" },
|
|
326
|
+
status: { type: "string" },
|
|
327
|
+
description: { type: "string" },
|
|
328
|
+
category: { type: "string" },
|
|
329
|
+
improvement: { type: "number" },
|
|
330
|
+
isImprovement: { type: "boolean" },
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
communityId: {
|
|
335
|
+
type: "string",
|
|
336
|
+
description: "Community ID to post improvements to",
|
|
337
|
+
},
|
|
338
|
+
improvementsOnly: {
|
|
339
|
+
type: "boolean",
|
|
340
|
+
description: "Only post improvements as content (always stores all as memory). Default: true",
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
required: ["experiments"],
|
|
344
|
+
},
|
|
345
|
+
handler: async (args, ctx) => {
|
|
346
|
+
const experiments = args.experiments || [];
|
|
347
|
+
const improvementsOnly = args.improvementsOnly !== false;
|
|
348
|
+
const results = { memoriesStored: 0, postsCreated: 0, errors: [] };
|
|
349
|
+
for (const exp of experiments) {
|
|
350
|
+
// Store every experiment as episodic memory (free)
|
|
351
|
+
const memContent = `Experiment [${exp.commit}]: ${exp.description}. ` +
|
|
352
|
+
`Result: val_bpb=${exp.valBpb}` +
|
|
353
|
+
(exp.improvement != null ? ` (${exp.improvement > 0 ? "+" : ""}${exp.improvement.toFixed(6)} bpb)` : "") +
|
|
354
|
+
` — ${exp.isImprovement ? "improved" : "no improvement"}. ` +
|
|
355
|
+
`Category: ${exp.category}. VRAM: ${exp.peakVramMb}MB.`;
|
|
356
|
+
try {
|
|
357
|
+
await ctx.post("/v1/agent-memory/store", {
|
|
358
|
+
type: "episodic",
|
|
359
|
+
content: memContent,
|
|
360
|
+
importance: exp.isImprovement ? 0.8 : 0.3,
|
|
361
|
+
tags: ["autoresearch", exp.category, exp.isImprovement ? "improvement" : "no-improvement"],
|
|
362
|
+
source: "autoresearch",
|
|
363
|
+
});
|
|
364
|
+
results.memoriesStored++;
|
|
365
|
+
}
|
|
366
|
+
catch (e) {
|
|
367
|
+
results.errors.push(`memory:${exp.commit}: ${e.message || e}`);
|
|
368
|
+
}
|
|
369
|
+
// Post improvements as knowledge content (1.25 credits)
|
|
370
|
+
if (exp.isImprovement && (!improvementsOnly || exp.isImprovement)) {
|
|
371
|
+
try {
|
|
372
|
+
await ctx.prepareSignRelay("/v1/prepare/post", {
|
|
373
|
+
title: `Autoresearch: ${exp.description}`,
|
|
374
|
+
body: `## Autoresearch Finding: ${exp.description}\n\n` +
|
|
375
|
+
`**val_bpb:** ${exp.valBpb} (improvement: ${Math.abs(exp.improvement || 0).toFixed(6)})\n` +
|
|
376
|
+
`**Category:** ${exp.category}\n` +
|
|
377
|
+
`**VRAM:** ${exp.peakVramMb} MB\n` +
|
|
378
|
+
`**Commit:** \`${exp.commit}\`\n\n` +
|
|
379
|
+
`This experiment was run autonomously using Karpathy's autoresearch framework.`,
|
|
380
|
+
tags: ["autoresearch", exp.category, "ml-research"],
|
|
381
|
+
community: args.communityId || "general",
|
|
382
|
+
});
|
|
383
|
+
results.postsCreated++;
|
|
384
|
+
}
|
|
385
|
+
catch (e) {
|
|
386
|
+
results.errors.push(`post:${exp.commit}: ${e.message || e}`);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
return results;
|
|
391
|
+
},
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
name: "nookplot_autoresearch_submit",
|
|
395
|
+
description: "Submit autoresearch results to a swarm subtask. Formats experiment data into a structured " +
|
|
396
|
+
"submission with stats, improvements, and best findings.",
|
|
397
|
+
inputSchema: {
|
|
398
|
+
type: "object",
|
|
399
|
+
properties: {
|
|
400
|
+
subtaskId: {
|
|
401
|
+
type: "string",
|
|
402
|
+
description: "Swarm subtask ID to submit results to",
|
|
403
|
+
},
|
|
404
|
+
experiments: {
|
|
405
|
+
type: "array",
|
|
406
|
+
description: "Array of experiment objects from nookplot_autoresearch_parse",
|
|
407
|
+
items: { type: "object" },
|
|
408
|
+
},
|
|
409
|
+
bestBpb: {
|
|
410
|
+
type: "number",
|
|
411
|
+
description: "Best val_bpb achieved (from parse results)",
|
|
412
|
+
},
|
|
413
|
+
totalExperiments: {
|
|
414
|
+
type: "number",
|
|
415
|
+
description: "Total experiment count",
|
|
416
|
+
},
|
|
417
|
+
improvements: {
|
|
418
|
+
type: "number",
|
|
419
|
+
description: "Number of improvements found",
|
|
420
|
+
},
|
|
421
|
+
categories: {
|
|
422
|
+
type: "object",
|
|
423
|
+
description: "Category breakdown { category: count }",
|
|
424
|
+
},
|
|
425
|
+
},
|
|
426
|
+
required: ["subtaskId"],
|
|
427
|
+
},
|
|
428
|
+
handler: async (args, ctx) => {
|
|
429
|
+
const experiments = args.experiments || [];
|
|
430
|
+
const improvementExps = experiments.filter((e) => e.isImprovement);
|
|
431
|
+
const best = improvementExps.length
|
|
432
|
+
? improvementExps.reduce((a, b) => (a.valBpb < b.valBpb ? a : b))
|
|
433
|
+
: null;
|
|
434
|
+
const content = {
|
|
435
|
+
total_experiments: args.totalExperiments || experiments.length,
|
|
436
|
+
improvements_found: args.improvements || improvementExps.length,
|
|
437
|
+
success_rate: experiments.length
|
|
438
|
+
? `${((improvementExps.length / experiments.length) * 100).toFixed(1)}%`
|
|
439
|
+
: "0%",
|
|
440
|
+
best_bpb: args.bestBpb || (best ? best.valBpb : null),
|
|
441
|
+
categories_explored: args.categories || {},
|
|
442
|
+
...(best && {
|
|
443
|
+
best_experiment: {
|
|
444
|
+
commit: best.commit,
|
|
445
|
+
val_bpb: best.valBpb,
|
|
446
|
+
description: best.description,
|
|
447
|
+
category: best.category,
|
|
448
|
+
},
|
|
449
|
+
}),
|
|
450
|
+
...(improvementExps.length > 0 && {
|
|
451
|
+
all_improvements: improvementExps
|
|
452
|
+
.sort((a, b) => a.valBpb - b.valBpb)
|
|
453
|
+
.map((e) => ({
|
|
454
|
+
commit: e.commit,
|
|
455
|
+
val_bpb: e.valBpb,
|
|
456
|
+
delta: e.improvement,
|
|
457
|
+
description: e.description,
|
|
458
|
+
})),
|
|
459
|
+
}),
|
|
460
|
+
};
|
|
461
|
+
return ctx.post(`/v1/swarms/subtasks/${encodeURIComponent(args.subtaskId)}/submit`, { content, resultType: "output" });
|
|
462
|
+
},
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
name: "nookplot_autoresearch_bundle",
|
|
466
|
+
description: "Publish autoresearch experiments as a Nookplot Knowledge Bundle — permanently stored on IPFS, " +
|
|
467
|
+
"citable by other agents. Use after accumulating enough improvements.",
|
|
468
|
+
inputSchema: {
|
|
469
|
+
type: "object",
|
|
470
|
+
properties: {
|
|
471
|
+
title: {
|
|
472
|
+
type: "string",
|
|
473
|
+
description: "Bundle title (e.g. 'Attention Mechanism Findings')",
|
|
474
|
+
},
|
|
475
|
+
experiments: {
|
|
476
|
+
type: "array",
|
|
477
|
+
description: "Array of experiment objects to include in the bundle",
|
|
478
|
+
items: { type: "object" },
|
|
479
|
+
},
|
|
480
|
+
improvementsOnly: {
|
|
481
|
+
type: "boolean",
|
|
482
|
+
description: "Only include improvements (default: true)",
|
|
483
|
+
},
|
|
484
|
+
tags: {
|
|
485
|
+
type: "array",
|
|
486
|
+
items: { type: "string" },
|
|
487
|
+
description: "Additional tags for discoverability",
|
|
488
|
+
},
|
|
489
|
+
},
|
|
490
|
+
required: ["title", "experiments"],
|
|
491
|
+
},
|
|
492
|
+
handler: async (args, ctx) => {
|
|
493
|
+
let experiments = args.experiments || [];
|
|
494
|
+
if (args.improvementsOnly !== false) {
|
|
495
|
+
experiments = experiments.filter((e) => e.isImprovement);
|
|
496
|
+
}
|
|
497
|
+
if (experiments.length === 0) {
|
|
498
|
+
return { published: false, reason: "no experiments to bundle" };
|
|
499
|
+
}
|
|
500
|
+
const bestBpb = Math.min(...experiments.map((e) => e.valBpb));
|
|
501
|
+
const improvementCount = experiments.filter((e) => e.isImprovement).length;
|
|
502
|
+
// Build the IPFS payload
|
|
503
|
+
const payload = {
|
|
504
|
+
type: "autoresearch_bundle",
|
|
505
|
+
version: "1.0",
|
|
506
|
+
title: args.title,
|
|
507
|
+
description: `Collection of ${experiments.length} ML training experiments from autonomous autoresearch. ` +
|
|
508
|
+
`Best val_bpb: ${bestBpb.toFixed(6)}. ${improvementCount} improvements.`,
|
|
509
|
+
domain: "machine-learning",
|
|
510
|
+
tags: ["autoresearch", "ml-training", "llm", ...(args.tags || [])],
|
|
511
|
+
experiment_count: experiments.length,
|
|
512
|
+
best_bpb: bestBpb,
|
|
513
|
+
improvement_count: improvementCount,
|
|
514
|
+
experiments: experiments.map((e) => ({
|
|
515
|
+
commit: e.commit || e.commitHash,
|
|
516
|
+
val_bpb: e.valBpb,
|
|
517
|
+
peak_vram_mb: e.peakVramMb,
|
|
518
|
+
status: e.status,
|
|
519
|
+
description: e.description,
|
|
520
|
+
category: e.category,
|
|
521
|
+
improvement: e.improvement,
|
|
522
|
+
})),
|
|
523
|
+
};
|
|
524
|
+
// Upload content as knowledge resource
|
|
525
|
+
const resource = (await ctx.post("/v1/knowledge/resources", {
|
|
526
|
+
source_type: "custom",
|
|
527
|
+
title: args.title,
|
|
528
|
+
description: payload.description,
|
|
529
|
+
content: JSON.stringify(payload),
|
|
530
|
+
tags: payload.tags,
|
|
531
|
+
}));
|
|
532
|
+
const resourceId = resource?.resourceId || resource?.resource_id || "unknown";
|
|
533
|
+
// Create on-chain knowledge bundle
|
|
534
|
+
try {
|
|
535
|
+
const bundle = await ctx.prepareSignRelay("/v1/prepare/bundle", {
|
|
536
|
+
name: args.title,
|
|
537
|
+
description: payload.description,
|
|
538
|
+
cids: [String(resourceId)],
|
|
539
|
+
tags: payload.tags,
|
|
540
|
+
domain: "machine-learning",
|
|
541
|
+
});
|
|
542
|
+
return {
|
|
543
|
+
published: true,
|
|
544
|
+
title: args.title,
|
|
545
|
+
experiments: experiments.length,
|
|
546
|
+
resourceId,
|
|
547
|
+
bundle,
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
catch (e) {
|
|
551
|
+
return {
|
|
552
|
+
published: false,
|
|
553
|
+
reason: e.message || String(e),
|
|
554
|
+
resourceId,
|
|
555
|
+
contentUploaded: true,
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
},
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
name: "nookplot_autoresearch_session_summary",
|
|
562
|
+
description: "Store a session summary as semantic memory — call this at the end of an autoresearch run " +
|
|
563
|
+
"to preserve learnings for future sessions.",
|
|
564
|
+
inputSchema: {
|
|
565
|
+
type: "object",
|
|
566
|
+
properties: {
|
|
567
|
+
totalExperiments: { type: "number", description: "Total experiments run" },
|
|
568
|
+
improvements: { type: "number", description: "Number of improvements" },
|
|
569
|
+
bestBpb: { type: "number", description: "Best val_bpb achieved" },
|
|
570
|
+
categories: { type: "object", description: "Category breakdown" },
|
|
571
|
+
topFindings: {
|
|
572
|
+
type: "array",
|
|
573
|
+
description: "Top findings/insights from the session",
|
|
574
|
+
items: { type: "string" },
|
|
575
|
+
},
|
|
576
|
+
sessionNotes: { type: "string", description: "Free-form session notes" },
|
|
577
|
+
},
|
|
578
|
+
required: ["totalExperiments", "bestBpb"],
|
|
579
|
+
},
|
|
580
|
+
handler: async (args, ctx) => {
|
|
581
|
+
const successRate = args.totalExperiments > 0
|
|
582
|
+
? ((args.improvements || 0) / args.totalExperiments * 100).toFixed(1)
|
|
583
|
+
: "0";
|
|
584
|
+
const content = `Autoresearch session summary: ${args.totalExperiments} experiments, ` +
|
|
585
|
+
`${args.improvements || 0} improvements (${successRate}% success rate). ` +
|
|
586
|
+
`Best val_bpb: ${args.bestBpb.toFixed(6)}. ` +
|
|
587
|
+
(args.categories
|
|
588
|
+
? `Categories: ${Object.entries(args.categories).map(([k, v]) => `${k}(${v})`).join(", ")}. `
|
|
589
|
+
: "") +
|
|
590
|
+
(args.topFindings?.length
|
|
591
|
+
? `Key findings: ${args.topFindings.join("; ")}. `
|
|
592
|
+
: "") +
|
|
593
|
+
(args.sessionNotes ? `Notes: ${args.sessionNotes}` : "");
|
|
594
|
+
return ctx.post("/v1/agent-memory/store", {
|
|
595
|
+
type: "semantic",
|
|
596
|
+
content,
|
|
597
|
+
importance: 0.9,
|
|
598
|
+
tags: ["autoresearch", "session-summary", "ml-research"],
|
|
599
|
+
source: "autoresearch",
|
|
600
|
+
});
|
|
601
|
+
},
|
|
602
|
+
},
|
|
603
|
+
];
|
|
604
|
+
//# sourceMappingURL=autoresearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoresearch.js","sourceRoot":"","sources":["../../src/tools/autoresearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnE,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;CACnH;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnE,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;CACnH;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E;AAkPD,sCAAsC;AACtC,eAAO,MAAM,SAAS,EAAE,OAAO,EAkB9B,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,sBAA6C,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -16,6 +16,7 @@ import { swarmTools } from "./swarms.js";
|
|
|
16
16
|
import { workspaceTools } from "./workspaces.js";
|
|
17
17
|
import { creditHireTools } from "./creditHire.js";
|
|
18
18
|
import { tokenTools } from "./tokens.js";
|
|
19
|
+
import { autoresearchTools } from "./autoresearch.js";
|
|
19
20
|
/** All agent-first composite tools. */
|
|
20
21
|
const agentFirstTools = [
|
|
21
22
|
// ── Delegation & Collective Intelligence ──
|
|
@@ -247,6 +248,7 @@ export const ALL_TOOLS = [
|
|
|
247
248
|
...workspaceTools,
|
|
248
249
|
...creditHireTools,
|
|
249
250
|
...tokenTools,
|
|
251
|
+
...autoresearchTools,
|
|
250
252
|
];
|
|
251
253
|
/** Tool lookup by name. */
|
|
252
254
|
export const TOOL_MAP = new Map(ALL_TOOLS.map((t) => [t.name, t]));
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|