Agentic - Standardbibliothek für KI-Agenten
Projektübersicht
Agentic ist eine Standardbibliothek für KI-Funktionen/Tools, optimiert für die Verwendung mit normalem TypeScript und auf LLM-basierter Nutzung. Agentic ist mit allen wichtigen TypeScript AI SDKs kompatibel (einschließlich Vercel AI SDK, Mastra, LangChain, LlamaIndex, OpenAI SDK, MCP usw.).
Projektadresse: https://github.com/transitive-bullshit/agentic
Kernfunktionen
🎯 Dualer Nutzungsmodus
- Standard-TypeScript-Klassen: Können direkt als normale TS-Klassen verwendet werden
- LLM-Tools: Können einfach als Tools in verschiedene AI SDKs integriert werden
🔧 Breite SDK-Unterstützung
Unterstützt alle gängigen TypeScript AI SDKs:
- Vercel AI SDK
- Mastra AI Agent Framework
- LangChain
- LlamaIndex
- OpenAI SDK
- Genkit
- Dexter
- xsAI SDK
- GenAIScript
- MCP (Model Context Protocol)
✨ Hauptvorteile
- ✅ Alle Tools sind umfassend in der Produktionsumgebung getestet
- ✅ Funktioniert mit allen gängigen TS AI SDKs
- ✅ Tools sind handcodiert und extrem schlank
- ✅ Bietet durch den
@aiFunction-Decorator eine gute manuelle DX und LLM DX
- ✅ Verwendet natives
fetch
- ✅ Verwendet
ky zur Kapselung von fetch, um HTTP-Optionen, Ratenbegrenzung, Wiederholungsversuche usw. einfach anzupassen
- ✅ Unterstützt Tools für jeden MCP-Server
- ✅ Neue Agentic-Tool-Clients können aus OpenAPI-Spezifikationen generiert werden
- ✅ 100% Open Source, kein Produktverkauf
Anwendungsbeispiele
Verwendung als normale TypeScript-Klasse
import { WeatherClient } from '@agentic/stdlib'
// Benötigt die Umgebungsvariable WEATHER_API_KEY (kostenlos von weatherapi.com erhältlich)
const weather = new WeatherClient()
const result = await weather.getCurrentWeather({
q: 'San Francisco'
})
console.log(result)
Verwendung als LLM-Tool (Vercel AI SDK Beispiel)
// SDK-spezifische Importe
import { openai } from '@ai-sdk/openai'
import { generateText } from 'ai'
import { createAISDKTools } from '@agentic/ai-sdk'
// SDK-unabhängige Importe
import { WeatherClient } from '@agentic/stdlib'
const weather = new WeatherClient()
const result = await generateText({
model: openai('gpt-4o-mini'),
// Schlüsselzeile: Verwendung des @agentic/ai-sdk Adapters
tools: createAISDKTools(weather),
toolChoice: 'required',
prompt: 'What is the weather in San Francisco?'
})
console.log(result.toolResults[0])
Gemischte Verwendung mehrerer Tools
import { SerperClient, WikipediaClient, FirecrawlClient } from '@agentic/stdlib'
import { createAIFunction } from '@agentic/core'
import { z } from 'zod'
const googleSearch = new SerperClient()
const wikipedia = new WikipediaClient()
const firecrawl = new FirecrawlClient()
const result = await generateText({
model: openai('gpt-4o-mini'),
// Dieses Beispiel verwendet Tools aus 4 verschiedenen Quellen
tools: createAISDKTools(
googleSearch,
wikipedia,
// Wählt eine einzelne Funktion aus der AI-Funktionssammlung des Firecrawl-Clients aus
firecrawl.functions.pick('firecrawl_search'),
// Erstellt eine benutzerdefinierte AI-Funktion
createAIFunction({
name: 'think',
description: `Use this tool to think about something. It will not obtain new information or change the database, but just append the thought to the log. Use it when complex reasoning or some cache memory is needed.`,
inputSchema: z.object({
thought: z.string().describe('A thought to think about.')
}),
execute: ({ thought }) => thought
})
),
prompt: 'What year did Jurassic Park the movie come out, and what else happened that year?'
})
Unterstützte Tools und Services
Das Projekt bietet über 50 nützliche Tools, die folgende Kategorien abdecken:
🔍 Suche und Informationsbeschaffung
| Tool |
Paketname |
Beschreibung |
| Brave Search |
@agentic/brave-search |
Brave Such-API |
| Bing |
@agentic/bing |
Microsoft Bing Such-API |
| DuckDuckGo |
@agentic/duck-duck-go |
DuckDuckGo Suche |
| Google Custom Search |
@agentic/google-custom-search |
Google benutzerdefinierte Suche |
| Serper |
@agentic/serper |
Serper Such-API |
| SerpAPI |
@agentic/serpapi |
SerpAPI Suchdienst |
| Tavily |
@agentic/tavily |
Tavily Such-API |
| Exa |
@agentic/exa |
Exa Such-API |
📚 Wissen und Forschung
| Tool |
Paketname |
Beschreibung |
| Wikipedia |
@agentic/wikipedia |
Wikipedia API |
| Wikidata |
@agentic/wikidata |
Wikidata Zugriff |
| ArXiv |
@agentic/arxiv |
ArXiv wissenschaftliche Arbeiten |
| Wolfram Alpha |
@agentic/wolfram-alpha |
Wolfram Alpha Berechnungsmaschine |
| HackerNews |
@agentic/hacker-news |
Hacker News API |
🌐 Web Scraping und Verarbeitung
| Tool |
Paketname |
Beschreibung |
| Firecrawl |
@agentic/firecrawl |
Web Scraping und Crawler |
| Jina |
@agentic/jina |
Jina Reader |
| Diffbot |
@diffbot |
Strukturierte Web-Extraktion |
☁️ Cloud-Dienste und Dokumente
| Tool |
Paketname |
Beschreibung |
| Google Drive |
@agentic/google-drive |
Google Drive |
| Google Docs |
@agentic/google-docs |
Google Docs |
| Notion |
@agentic/notion |
Notion API |
| Airtable |
@agentic/airtable |
Airtable Datenbank |
🌦️ Wetter und Umwelt
| Tool |
Paketname |
Beschreibung |
| Weather |
@agentic/weather |
Wetter API |
| Open Meteo |
@agentic/open-meteo |
Offene Wetterdaten |
💼 Wirtschaft und Daten
| Tool |
Paketname |
Beschreibung |
| Apollo |
@agentic/apollo |
Apollo Vertriebstool |
| Clearbit |
@agentic/clearbit |
Firmendaten API |
| Hunter |
@agentic/hunter |
E-Mail-Finder |
| People Data Labs |
@agentic/people-data-labs |
Personendaten API |
| Polygon |
@agentic/polygon |
Finanzmarktdaten |
🎨 Kreativität und Medien
| Tool |
Paketname |
Beschreibung |
| Midjourney |
@agentic/midjourney |
KI-Bildgenerierung |
| YouTube |
@agentic/youtube |
YouTube API |
📱 Soziale Netzwerke und Kommunikation
| Tool |
Paketname |
Beschreibung |
| Twitter |
@agentic/twitter |
Twitter API |
| Slack |
@agentic/slack |
Slack API |
| Twilio |
@agentic/twilio |
Twilio Kommunikation |
| Reddit |
@agentic/reddit |
Reddit API |
💻 Entwicklung und Tools
| Tool |
Paketname |
Beschreibung |
| Calculator |
@agentic/calculator |
Mathematischer Rechner |
| E2B |
@agentic/e2b |
Code-Ausführungsumgebung |
| MCP Tools |
@agentic/mcp |
MCP-Serverunterstützung |
Architekturentwurf
Kernkonzepte
- AIFunctionLike: Kann eine beliebige Agentic-Client-Instanz, eine einzelne AIFunction aus einer Client-Funktionssammlung oder eine manuell mit createAIFunction erstellte AI-Funktion sein
- AIFunctionSet: Sammlung von AI-Funktionen, die eine flexible Funktionsverwaltung ermöglicht
- Adaptermuster: Bietet eine einheitliche Schnittstelle für verschiedene AI SDKs
Erweiterbarkeit
- Unterstützung für die automatische Generierung von Tool-Clients aus OpenAPI-Spezifikationen
- Unterstützung für die Erstellung benutzerdefinierter AI-Funktionen
- Unterstützung für die MCP-Serverintegration
- Unterstützung für Funktionskombination und -auswahl
Installation und Verwendung
# Installation der Kernbibliothek
npm install @agentic/core
# Installation der Standard-Toolbibliothek
npm install @agentic/stdlib
# Installation des spezifischen AI SDK Adapters
npm install @agentic/ai-sdk # Vercel AI SDK
npm install @agentic/langchain # LangChain
npm install @agentic/llamaindex # LlamaIndex
Zusammenfassung
Agentic ist eine leistungsstarke, gut gestaltete Standardbibliothek für KI-Tools, die TypeScript-Entwicklern eine vollständige Toolchain zum Erstellen von KI-Anwendungen bietet. Das Designprinzip lautet "Einmal schreiben, überall ausführen", sodass Entwickler nahtlos zwischen verschiedenen KI-Frameworks wechseln können und gleichzeitig eine Vielzahl vorgefertigter Tools zur Beschleunigung der KI-Anwendungsentwicklung bereitgestellt werden.