Agentic - AIエージェント標準ライブラリ
プロジェクト概要
Agenticは、通常のTypeScriptでの使用とLLMベースの使用に最適化された、AI機能/ツールの標準ライブラリです。Agenticは、すべての主要なTypeScript AI SDK(Vercel AI SDK、Mastra、LangChain、LlamaIndex、OpenAI SDK、MCPなどを含む)と互換性があります。
プロジェクトアドレス: https://github.com/transitive-bullshit/agentic
核心特性
🎯 デュアル使用モード
- 標準TypeScriptクラス: 通常のTSクラスとして直接使用可能
- LLMツール: 各種AI SDKにツールとして簡単に統合可能
🔧 幅広いSDKサポート
すべての主要なTypeScript AI SDKをサポート:
- Vercel AI SDK
- Mastra AI Agentフレームワーク
- LangChain
- LlamaIndex
- OpenAI SDK
- Genkit
- Dexter
- xsAI SDK
- GenAIScript
- MCP (Model Context Protocol)
✨ 主要な利点
- ✅ すべてのツールは、本番環境で完全にテスト済み
- ✅ すべての主要なTS AI SDKで動作
- ✅ ツールは手動でコーディングされており、非常に簡潔
- ✅
@aiFunctionデコレーターによる優れた手動DXとLLM DX
- ✅ ネイティブ
fetchを使用
- ✅
kyを使用してfetchをカプセル化し、カスタムHTTPオプション、レート制限、再試行などを容易に設定可能
- ✅ 任意のMCPサーバーのツールをサポート
- ✅ OpenAPI仕様から新しいAgenticツールクライアントを生成可能
- ✅ 100%オープンソース、製品の販売は一切なし
使用例
普通のTypeScriptクラスとして使用
import { WeatherClient } from '@agentic/stdlib'
// 環境変数 WEATHER_API_KEY の設定が必要 (weatherapi.comから無料で取得可能)
const weather = new WeatherClient()
const result = await weather.getCurrentWeather({
q: 'San Francisco'
})
console.log(result)
LLMツールとして使用 (Vercel AI SDKの例)
// SDK固有のインポート
import { openai } from '@ai-sdk/openai'
import { generateText } from 'ai'
import { createAISDKTools } from '@agentic/ai-sdk'
// SDKに依存しないインポート
import { WeatherClient } from '@agentic/stdlib'
const weather = new WeatherClient()
const result = await generateText({
model: openai('gpt-4o-mini'),
// 重要な行:@agentic/ai-sdkアダプターを使用
tools: createAISDKTools(weather),
toolChoice: 'required',
prompt: 'What is the weather in San Francisco?'
})
console.log(result.toolResults[0])
複数のツールを組み合わせて使用
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'),
// この例では、4つの異なるソースからのツールを使用
tools: createAISDKTools(
googleSearch,
wikipedia,
// firecrawlクライアントのAI機能セットから単一の機能を選択
firecrawl.functions.pick('firecrawl_search'),
// カスタムAI機能を作成
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?'
})
サポートされているツールとサービス
プロジェクトは50以上の実用的なツールを提供し、以下のカテゴリを網羅しています。
🔍 検索と情報検索
| ツール |
パッケージ名 |
説明 |
| Brave Search |
@agentic/brave-search |
Brave検索API |
| Bing |
@agentic/bing |
Microsoft Bing検索API |
| DuckDuckGo |
@agentic/duck-duck-go |
DuckDuckGo検索 |
| Google Custom Search |
@agentic/google-custom-search |
Googleカスタム検索 |
| Serper |
@agentic/serper |
Serper検索API |
| SerpAPI |
@agentic/serpapi |
SerpAPI検索サービス |
| Tavily |
@agentic/tavily |
Tavily検索API |
| Exa |
@agentic/exa |
Exa検索API |
📚 知識と研究
| ツール |
パッケージ名 |
説明 |
| Wikipedia |
@agentic/wikipedia |
Wikipedia API |
| Wikidata |
@agentic/wikidata |
Wikidataアクセス |
| ArXiv |
@agentic/arxiv |
ArXiv学術論文 |
| Wolfram Alpha |
@agentic/wolfram-alpha |
Wolfram Alpha計算エンジン |
| HackerNews |
@agentic/hacker-news |
Hacker News API |
🌐 ウェブクローリングと処理
| ツール |
パッケージ名 |
説明 |
| Firecrawl |
@agentic/firecrawl |
ウェブクローリングとクローラー |
| Jina |
@agentic/jina |
Jina Reader |
| Diffbot |
@diffbot |
ウェブ構造化抽出 |
☁️ クラウドサービスとドキュメント
| ツール |
パッケージ名 |
説明 |
| Google Drive |
@agentic/google-drive |
Google Drive |
| Google Docs |
@agentic/google-docs |
Google Docs |
| Notion |
@agentic/notion |
Notion API |
| Airtable |
@agentic/airtable |
Airtableデータベース |
🌦️ 天気と環境
| ツール |
パッケージ名 |
説明 |
| Weather |
@agentic/weather |
天気API |
| Open Meteo |
@agentic/open-meteo |
オープン天気データ |
💼 ビジネスとデータ
| ツール |
パッケージ名 |
説明 |
| Apollo |
@agentic/apollo |
Apolloセールスツール |
| Clearbit |
@agentic/clearbit |
企業データAPI |
| Hunter |
@agentic/hunter |
メールアドレス検索ツール |
| People Data Labs |
@agentic/people-data-labs |
人材データAPI |
| Polygon |
@agentic/polygon |
金融市場データ |
🎨 クリエイティブとメディア
| ツール |
パッケージ名 |
説明 |
| Midjourney |
@agentic/midjourney |
AI画像生成 |
| YouTube |
@agentic/youtube |
YouTube API |
📱 ソーシャルとコミュニケーション
| ツール |
パッケージ名 |
説明 |
| Twitter |
@agentic/twitter |
Twitter API |
| Slack |
@agentic/slack |
Slack API |
| Twilio |
@agentic/twilio |
Twilio通信 |
| Reddit |
@agentic/reddit |
Reddit API |
💻 開発とツール
| ツール |
パッケージ名 |
説明 |
| Calculator |
@agentic/calculator |
数学計算機 |
| E2B |
@agentic/e2b |
コード実行環境 |
| MCP Tools |
@agentic/mcp |
MCPサーバーサポート |
アーキテクチャ設計
核心概念
- AIFunctionLike: 任意のagenticクライアントインスタンス、クライアント関数セットから選択された単一のAIFunction、またはcreateAIFunctionで手動で作成されたAI機能
- AIFunctionSet: AI機能の集合、柔軟な関数管理を提供
- アダプターパターン: さまざまなAI SDKに統一されたインターフェースを提供
拡張性
- OpenAPI仕様によるツールクライアントの自動生成をサポート
- カスタムAI機能の作成をサポート
- MCPサーバーの統合をサポート
- 関数の組み合わせと選択をサポート
インストールと使用
# コアライブラリのインストール
npm install @agentic/core
# 標準ツールライブラリのインストール
npm install @agentic/stdlib
# 特定のAI SDKアダプターのインストール
npm install @agentic/ai-sdk # Vercel AI SDK
npm install @agentic/langchain # LangChain
npm install @agentic/llamaindex # LlamaIndex
まとめ
Agenticは、強力で洗練された設計のAIツール標準ライブラリであり、TypeScript開発者にAIアプリケーションを構築するための完全なツールチェーンを提供します。「一度書けば、どこでも実行できる」という設計理念に基づき、開発者は異なるAIフレームワーク間をシームレスに切り替えることができ、豊富な既製ツールを提供することでAIアプリケーションの開発を加速します。