langchain-init について
langchain-init は、AI エージェントを開発する人向けに LangChain の TypeScript プロジェクトを初期化するスキルです。依存関係や設定、構成、サンプルエージェントを用意します。
主な機能
- 01TypeScript プロジェクトの初期化
- 02LangChain 依存関係の導入
- 03TypeScript 設定の生成
- 04サンプルエージェントとツールの作成
- 05環境変数テンプレートとスクリプトの設定
活用シーン
- 01LangChain プロジェクトの新規作成
- 02エージェント開発用の標準構成の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill langchain-initインストール後、Claude Code で/langchain-initを入力して読み込まれたか確認します。
詳細
/langchain:init
AI エージェントを構築するための最適な設定で、新しい LangChain TypeScript プロジェクトを初期化します。
このスキルを使用するタイミング
| 次の場合にこのスキルを使用します… | 次の場合は代わりに関連するスキルを使用します… |
|---|---|
| LangChain TypeScript プロジェクトをゼロから新規作成する | 既存のプロジェクトに LangChain を追加する場合 — langchain-development を使用します |
| ボイラープレート、依存関係、スターター設定を生成する | ステートフルなグラフワークフローを構築する場合 — langgraph-agents を使用します |
| 他のスキルが想定する標準的なプロジェクト構成をセットアップする | 階層型オーケストレーターを構築する場合 — deep-agents を使用します |
コンテキスト
環境を検出します:
node --version- Node.js のバージョンwhich bun- Bun が利用可能か確認します
パラメーター
| パラメーター | 説明 | デフォルト |
|---|---|---|
project-name | プロジェクトディレクトリの名前 | 必須 |
実行
1. プロジェクトディレクトリを作成する
mkdir -p $1 && cd $1
2. パッケージを初期化する
Bun が利用可能な場合:
bun init -y
それ以外の場合:
npm init -y
3. 依存関係をインストールする
コアパッケージ:
# Package manager: bun or npm
bun add langchain @langchain/core @langchain/langgraph
bun add @langchain/openai # Default model provider
# Dev dependencies
bun add -d typescript @types/node tsx
4. TypeScript の設定を作成する
tsconfig.json を作成します:
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"strict": true,
"skipLibCheck": true,
"outDir": "dist",
"declaration": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
5. プロジェクト構成を作成する
mkdir -p src
6. エージェントのサンプルを作成する
src/agent.ts を作成します:
import { ChatOpenAI } from "@langchain/openai";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { tool } from "@langchain/core/tools";
import { z } from "zod";
// Example tool
const greetTool = tool(
async ({ name }) => `Hello, ${name}!`,
{
name: "greet",
description: "Greet someone by name",
schema: z.object({
name: z.string().describe("The name to greet"),
}),
}
);
// Create the agent
const model = new ChatOpenAI({
model: "gpt-4o",
temperature: 0,
});
export const agent = createReactAgent({
llm: model,
tools: [greetTool],
});
// Run if executed directly
if (import.meta.url === `file://${process.argv[1]}`) {
const result = await agent.invoke({
messages: [{ role: "user", content: "Say hello to Claude" }],
});
console.log(result.messages[result.messages.length - 1].content);
}
7. 環境変数のテンプレートを作成する
.env.example を作成します:
# OpenAI (default)
OPENAI_API_KEY=sk-...
# Optional: Anthropic
# ANTHROPIC_API_KEY=sk-ant-...
# Optional: LangSmith tracing
# LANGCHAIN_TRACING_V2=true
# LANGCHAIN_API_KEY=ls__...
# LANGCHAIN_PROJECT=my-project
8. package.json のスクリプトを更新する
package.json に追加します:
{
"scripts": {
"dev": "tsx watch src/agent.ts",
"start": "tsx src/agent.ts",
"build": "tsc",
"typecheck": "tsc --noEmit"
}
}
9. .gitignore を作成する
node_modules/
dist/
.env
*.log
実行後のアクション
-
次の手順を含む成功メッセージを表示します:
.env.exampleを.envにコピーして、API キーを追加しますbun devまたはnpm run devを実行して起動します- その他の例については LangChain のドキュメントを確認します
-
必要に応じて、追加のモデルプロバイダーのインストールを提案します:
- Claude 用の
@langchain/anthropic - Gemini 用の
@langchain/google-genai
- Claude 用の
コメント
Markdown 対応