Eén agent om ze allemaal te besturen?
In januari 2025 introduceerde Achmea Real Estate het ADRIF, een impactfonds gericht op de aankoop en duurzame renovatie van oudere huurwoningen in Nederland. Met een initiële investering van € 50 miljoen wil het fonds het wooncomfort verhogen en de energiekosten voor huurders verlagen door slecht geïsoleerde panden te verbeteren.
Mogelijke oplossingen
Een mogelijke aanpak voor de problemen die zich voordoen bij het bouwen van complexe agents is het creëren van meerdere gespecialiseerde agents en het gebruiken van een algemene agent om taken aan hen te delegeren. Er zijn gespecialiseerde modellen (https://github.com/Not-Diamond/awesome-ai-model-routing) die je voor deze delegerende agent kunt gebruiken. Een andere aanpak die jouw configuratie kan vereenvoudigen, is het gebruik van een AI-framework.
Wat zijn AI-frameworks?
AI-frameworks stroomlijnen de ontwikkeling en implementatie van complexe algoritmen door kant-en-klare functies en bibliotheken aan te bieden. Hierdoor kunnen ontwikkelaars AI-modellen aanpassen aan specifieke behoeften zonder de onderliggende systemen helemaal opnieuw te hoeven ontwikkelen. Bovendien standaardiseren deze frameworks het ontwikkelingsproces, waardoor teams over consistente tools en methoden beschikken voor verschillende projecten. Een nieuw framework van Google is Firebase Genkit.
Firebase Genkit
Firebase Genkit (https://firebase.google.com/docs/genkit) is een open-source framework dat ontwikkelaars een gestructureerde omgeving biedt om de mogelijkheden van generatieve AI te benutten. Genkit ondersteunt zowel de eigen modellen van Google als open-source modellen van derden en is ontworpen om zeer uitbreidbaar te zijn, waardoor ontwikkelaars het kunnen aanpassen aan hun behoeften.
Het integreert ook naadloos met vectordatabases zoals Pinecone en PostgreSQL’s pgvector of Google Cloud’s Firestore. Genkit biedt ook primitieven die het veel gemakkelijker maken om een multi-agent architectuur te definiëren. Hieronder een fragment uit de Genkit-documentatie dat deze aanpak illustreert.
// Define a prompt that represents a specialist agent
const reservationAgent = ai.definePrompt(
{
name: ‘reservationAgent’,
description: ‘Reservation Agent can help manage guest reservations’,
tools: [reservationTool, reservationCancelationTool, reservationListTool],
},
‘{{role “system”}} Help guests make and manage reservations’
);
// Or load agents from .prompt files
const menuInfoAgent = ai.prompt(‘menuInfoAgent’);
const complaintAgent = ai.prompt(‘complaintAgent’);
// The triage agent is the agent that users interact with initially
const triageAgent = ai.definePrompt(
{
name: ’triageAgent’,
description: ‘Triage Agent’,
tools: [reservationAgent, menuInfoAgent, complaintAgent],
},
`{{role “system”}} You are an AI customer service agent for Pavel’s Cafe.
Greet the user and ask them how you can help. If appropriate, transfer to an
agent that can better handle the request. If you cannot help the customer with
the available tools, politely explain so.`
);
// Start a chat session, initially with the triage agent
const chat = ai.chat(triageAgent);
I think you refer to a ‘Agentic Workflow’, as coined by the Godfather of Machine Learning.