Custom Agents
Créer et intégrer des agents personnalisés.
🤖 Types d'Agents
1. Agent Simple
import { Agent } from '@genesis/nexus';
class SimpleAgent extends Agent {
async execute(input: any): Promise<any> {
// Logique de l'agent
return { result: 'done' };
}
}
2. Agent avec Outils
class ToolAgent extends Agent {
tools = [
{
name: 'search',
fn: async (query: string) => {
return await search(query);
}
},
{
name: 'calculate',
fn: async (expression: string) => {
return eval(expression);
}
}
];
async execute(input: any): Promise<any> {
const tool = this.tools.find(t => t.name === input.tool);
return await tool.fn(input.params);
}
}
3. Agent avec Mémoire
class MemoryAgent extends Agent {
private memory = new Map<string, any>();
async execute(input: any): Promise<any> {
// Utiliser la mémoire
const context = this.memory.get(input.sessionId);
// Mettre à jour la mémoire
this.memory.set(input.sessionId, {
...context,
lastInput: input,
});
return { result: 'done' };
}
}