1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hermes Agent 徹底解説 — 「成長するAIエージェント」

1
Posted at

はじめに

AIエージェントが急速に進化している2026年、最も注目を集めているオープンソースプロジェクトの一つが Hermes Agent です。

GitHub Stars 186K+ / 最新版 v0.16.0 (2026.6.5) / MITライセンス / 完全無料

Hermes Agent は、AI研究組織 Nous Research が開発した 自律型AIエージェント です。単なるチャットボットラッパーやIDE内のコーディングコパイロットではなく、使えば使うほど賢くなる「成長するエージェント」 という独自のコンセプトで設計されています。

本記事では、Hermes Agent の基本概念から内部アーキテクチャ、インストール、実践的な使い方まで、他の人にも共有できるレベルで徹底解説します。


目次

  1. Hermes Agent とは?
  2. 名前の由来
  3. 既存エージェントとの違い
  4. アーキテクチャ全景
  5. 主要機能の詳細
  6. セキュリティアーキテクチャ
  7. インストールガイド
  8. 初期設定とモデル構成
  9. 日常操作コマンド一覧
  10. 実践:エージェントワークフローを構築する
  11. OpenClaw からの移行
  12. ビジネス視点での価値
  13. まとめ
  14. 参考リンク

Hermes Agent とは?

基本情報

項目 内容
公式サイト hermes-agent.nousresearch.com
GitHub github.com/NousResearch/hermes-agent
ドキュメント hermes-agent.nousresearch.com/docs
ライセンス MIT(完全無料・改変自由)
開発言語 Python(82.9%)/ TypeScript(13.2%)
対応OS Linux, macOS, WSL2, Android(Termux), Windows(ネイティブ)
初回公開 2026年2月
最新版 v0.16.0(2026年6月5日)
GitHub Stars 186K+(2026年6月時点)

コアコンセプト:「成長するエージェント」

Hermes Agent の核心は、3つの自己進化メカニズムにあります:

  1. 永続メモリ(Persistent Memory):プロジェクトや好み、解決パターンをセッションを跨いで記憶
  2. スキル自動生成(Automated Skill Creation):複雑な問題を解決した経験を、再利用可能な「スキルドキュメント」として自動保存
  3. マルチプラットフォーム・ゲートウェイ:Telegram、Discord、Slack、WhatsApp、Signal など 20+ プラットフォームから同一エージェントにアクセス可能

通常のチャットボット(ChatGPT など)がセッションごとにリセットされるのに対し、Hermes Agent は使うほど賢くなり、あなたのことを深く理解するパートナーになります。


名前の由来

ヘルメス(Hermes) はギリシャ神話の伝令神で、翼の付いたサンダルで神々と人間の間を自由に行き来する存在です。

Hermes Agent もまた、複数のメッセージングプラットフォーム間を横断しつつ、ユーザーと外部ツール/LLMの間を仲介するエージェントです。この名前は非常に的を射ています。

Nous Research はこれまでも Hermes 2 / Hermes 3 / Hermes 4.3 などの微調整LLMシリーズを「Hermes」ブランドで公開しており、その延長線上の「エージェント版 Hermes」として位置付けられています。


既存エージェントとの違い

「AIエージェント」は多数ありますが、Hermes Agent は明確に差別化されたポジションを取っています。

観点 一般的なチャットボット Cursor / Claude Code 等 IDE系 Hermes Agent
メモリ セッション単位でリセット プロジェクト単位(IDEに紐付く) 永続・グローバル
動作場所 クラウド IDE内 自分のサーバー/VPS常駐
入口 Web UI IDE内チャット CLI + 20+ メッセージングアプリ
スキル拡張 プラグイン/GPTs コマンド/ルール 自動生成 + agentskills.io標準
実行環境 サンドボックス ローカルファイル Local / Docker / SSH / Modal / Daytona
データ所有 プロバイダ側 プロバイダ側 完全ローカル(~/.hermes/)
モデル 単一プロバイダ 単一プロバイダ 200+モデル自由切り替え

ポイント: 「1台のVPSにインストールしておけば、TelegramでもSlackでもCLIでも、あなたを覚えている同じエージェントが応答してくれる」というアーキテクチャが最大の特徴です。


アーキテクチャ全景

三層アーキテクチャ

Hermes Agent はユーザーインターフェース層 → コアエージェント層 → ツール&実行層の三層構造で設計されています。

┌─────────────────────────────────────────────────────────────────────┐
│                        Entry Points                                 │
│                                                                     │
│  CLI (cli.py)    Gateway (gateway/run.py)    ACP (acp_adapter/)     │
│  Batch Runner    API Server                  Python Library         │
└──────────┬──────────────┬───────────────────────┬───────────────────┘
           │              │                       │
           ▼              ▼                       ▼
┌─────────────────────────────────────────────────────────────────────┐
│                     AIAgent (run_agent.py)                          │
│                                                                     │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐               │
│  │ Prompt       │  │ Provider     │  │ Tool         │               │
│  │ Builder      │  │ Resolution   │  │ Dispatch     │               │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘               │
│         │                 │                 │                       │
│  ┌──────┴───────┐  ┌──────┴───────┐  ┌──────┴───────┐               │
│  │ Compression  │  │ 3 API Modes  │  │ Tool Registry│               │
│  │ & Caching    │  │ chat_compl.  │  │ 70+ tools    │               │
│  │              │  │ codex_resp.  │  │ 28 toolsets  │               │
│  │              │  │ anthropic    │  │              │               │
│  └──────────────┘  └──────────────┘  └──────────────┘               │
└─────────┴─────────────────┴─────────────────┴───────────────────────┘
          │                                    │
          ▼                                    ▼
┌───────────────────┐              ┌───────────────────────┐
│ Session Storage   │              │ Tool Backends         │
│ (SQLite + FTS5)   │              │ Terminal (6 backends) │
│ hermes_state.py   │              │ Browser (5 backends)  │
│                   │              │ Web (4 backends)      │
└───────────────────┘              │ MCP (dynamic)         │
                                   │ File, Vision, etc.    │
                                   └───────────────────────┘

五層オニオンモデル

より詳細に見ると、Hermes Agent は 5つの層 で構成されています。各層は内側の層にのみ依存します:

名称 主要モジュール コード行数 役割
Layer 1 Foundation 基座層 agent/*.py ~20K行 プロバイダ適応、モデルメタデータ、リトライロジック
Layer 2 Tools 工具層 tools/*.py ~44K行 70+ツールの登録・調度・実行
Layer 3 Agent 代理層 run_agent.py ~12K行 AIAgent コア循環(すべての編排者)
Layer 4 Gateway 網関層 gateway/*.py ~51K行 プラットフォーム適応、セッション管理、メッセージルーティング
Layer 5 Platforms プラットフォーム層 hermes_cli/*.py ~50K行 CLI、設定管理、インストールウィザード
合計 ~238K行

💡 興味深い観察: ゲートウェイ層(51K行)はエージェント層(12K行)の4倍以上。核心の知能ロジックはコンパクトで、真の工程複雑性は「現実世界にどう接続するか」にあります。

ランタイムモード

モード エントリポイント 用途 セッション保存先
CLI cli.py ターミナルでの対話 ~/.hermes/sessions/
Gateway gateway/run.py メッセージングプラットフォーム ~/.hermes/sessions/
ACP hermes_cli/main.py エディタ統合(VS Code, Zed) クライアント管理
Web UI hermes_cli/web_server.py ブラウザベースダッシュボード ~/.hermes/sessions/

コア循環:ReAct ループ

AIAgent の核心は ReAct(Reasoning + Acting) パターンに基づくループです:

ユーザーメッセージ
    ↓
System Prompt 構築(Memory + Skills + Platform Context 注入)
    ↓
LLM API 呼び出し(ストリーミング/非ストリーミング対応)
    ↓
応答タイプ判定
    ├── テキスト応答 → ユーザーに返答
    └── ツール呼び出し → handle_function_call() で実行
                            ↓
                        ツール結果をメッセージ履歴に追加
                            ↓
                        max_iterations チェック
                            ├── 超えていない → LLM API 再呼び出し
                            └── 超えた → 要約応答を生成

このループには以下の精巧な制御が組み込まれています:

  • 自動フェイルオーバー:API エラー時に自動判断(リトライ / モデル降格 / コンテキスト圧縮)
  • コンテキスト自動圧縮:ウィンドウ超過時に中間対話を要約し、頭尾を保存
  • マルチプロバイダ適応:OpenAI / Anthropic / Bedrock / Gemini の 4つの API モードを自動切り替え

主要機能の詳細

1. 永続メモリ(Persistent Memory)

Hermes Agent は会話履歴・プロジェクト情報・解決済み問題を ~/.hermes/ 配下の SQLite(FTS5全文検索付き) に保存します。

~/.hermes/
├── MEMORY.md     # Agent の知識ノート(環境事実・ツール特性・経験)
├── USER.md       # ユーザープロファイル(名前・好み・習慣・作業スタイル)
└── sessions/     # セッション DB(FTS5 全文検索対応)

特徴:

  • セッションを跨いで「あなたの開発環境・口調・好み」を学習し続ける
  • 複数のメモリプロバイダに対応(SQLite標準、Honcho、Mem0、Hindsight など)
  • FTS5ベースの高速検索で、長期運用にも耐える
  • 3層メモリアーキテクチャ
    • Tier 1(短期):セッション内コンテキスト
    • Tier 2(中期):プロジェクト単位の永続記憶
    • Tier 3(長期):組織全体の横断的ナレッジ

2. スキル自動生成(Automated Skill Creation)

Hermes は問題解決の過程を 再利用可能なスキルドキュメント(SKILL.md) として自動保存します。

~/.hermes/skills/
├── github/
│   ├── github-pr-workflow/
│   │   └── SKILL.md
│   └── github-code-review/
│       └── SKILL.md
├── mlops/
│   ├── axolotl/
│   ├── vllm/
│   └── whisper/
├── software-development/
│   ├── plan/
│   ├── test-driven-development/
│   └── systematic-debugging/
└── creative/
    ├── ascii-art/
    └── manim-video/

SKILL.md のフォーマット:

---
name: github-pr-workflow
description: GitHub PR のレビュー&マージワークフロー
tags: [git, github, workflow]
version: 1.2.0
---

## いつ使うか
- GitHub でプルリクエストを作成・レビューするとき

## 手順
1. ブランチを作成してコミット
2. gh pr create で PR を作成
3. ...

## 注意すべき落とし穴
- マージコンフリクトが発生した場合は...

## 検証方法
- gh pr view で状態を確認

学習のクローズドループ:

複雑なタスク完了(5+ツール呼び出し)
    ↓
Agent が「スキルとして保存しますか?」と提案
    ↓ ユーザー同意
skill_manage action=create でスキル作成
    ↓
次回の類似タスクでスキルを自動ロード
    ↓
実行中に問題発見 → skill_manage action=patch で即時修正
    ↓
スキルが進化(次回はさらに正確に)

💡 ポイント: スキルは「書いたら終わり」ではなく、使うたびに検証・修正される活きたドキュメントです。これが Hermes Agent を他のフレームワークから差別化する最大の特徴です。

操作コマンド:

hermes skill list          # スキル一覧
hermes skill add <name>    # スキルのインストール
hermes skill share <name>  # スキルの共有

標準で 40+ のビルトインスキル が同梱されており、agentskills.io 標準に準拠しています。

3. マルチプラットフォーム・ゲートウェイ

hermes gateway  # 1つのプロセスで全プラットフォームに対応

対応プラットフォーム(20+):

カテゴリ プラットフォーム
メッセンジャー Telegram, Discord, Slack, WhatsApp, Signal, Matrix
中国系 微信(WeChat), 企業微信, 飛書(Feishu), 釘釘(DingTalk), QQ Bot
その他 Email, SMS, Mattermost, BlueBubbles, Home Assistant
API Webhook, API Server

キラー機能:クロスプラットフォーム対話連続性

Telegram で途中まで話した内容を Discord で続けても、コンテキストが途切れません。1つのメモリで全プラットフォームを横断します。

4. モデル非依存(Model Agnostic)

Hermes Agent はいかなるLLMプロバイダにもロックインされません:

hermes model  # 対話式メニューでモデルを選択

対応プロバイダ一覧:

  • Nous Portal(300+ モデル、ワンストップサービス)
  • OpenRouter(200+ モデル)
  • OpenAI / Anthropic / Google Gemini / AWS Bedrock
  • NVIDIA NIM(Nemotron) / xAI(Grok)
  • Xiaomi MiMo / z.ai / GLM / Kimi / Moonshot / MiniMax
  • Hugging Face / 任意の OpenAI API 互換エンドポイント

対話中のモデル切り替えも可能:

/model openrouter:nous/hermes-3-405b

同じ会話で「安いモデルで初稿 → 強力なモデルで推敲」という使い方ができます。

5. ターミナルバックエンド(6種類)

バックエンド 特徴
Local ローカルマシンで直接実行
Docker コンテナ内で隔離実行
SSH リモートサーバーに接続して実行
Modal サーバーレス(アイドル時ほぼ無料)
Daytona サーバーレス永続化(休止→オンデマンド起動)
Singularity HPC環境向けコンテナ

6. 定時タスク(Cron Scheduling)

# 自然言語でスケジュール設定
"毎朝9時にサーバーの状態レポートを Telegram で送って"
  • ファイルロック保護のスケジューラー
  • Job のプロンプトは完全自包含(コンテキストなしでも動作保証)
  • 実行結果を任意のプラットフォームに配信

7. サブエージェント委譲(Delegate)

delegate_task → 独立した子エージェントを並列起動
  • 各子エージェントは独立したコンテキストを持つ(親のコンテキストを汚染しない)
  • 最大3つの並列実行(ThreadPoolExecutor)
  • 子エージェントは制限されたツールセットで動作(再帰委譲禁止、共有メモリ非アクセス)
  • 最大ネスト深度:2層
  • ACP経由で Claude Code / Codex など外部エージェントも子エージェントとして利用可能

8. MCP(Model Context Protocol)統合

# MCP サーバーの接続
hermes mcp  # 対話式 MCP カタログから選択

Gmail / Stripe / GitHub / WordPress 等の外部サービスを MCP サーバー経由で接続可能。Claude Code の MCP 資産をそのまま流用できます。

9. コンテキスト圧縮

コンテキストウィンドウが上限に達すると自動的に発動します:

【圧縮前】                          【圧縮後】
┌──────────────────┐               ┌───────────────────┐
│ HEAD             │               │ HEAD(維持)       │
│ System Prompt    │               │ System Prompt     │
│ + 前半の対話      │               │ + 前半の対話       │
├──────────────────┤               ├───────────────────┤
│ MIDDLE           │    ──圧縮──>  │ SUMMARY           │
│ 中間N轮の対話     │               │ ✅ 解決済み       │
│ ツール呼出し&結果 │               │ ⏳ 未処理        │
├──────────────────┤               │ 📁 現在の状態     │
│ TAIL             │               ├──────────────────┤
│ 最新の対話        │               │ TAIL(維持)      │
│ 現在のタスク      │               │ 最新の対話        │
└──────────────────┘               └──────────────────┘

設計上の工夫:

  • 圧縮後のテキストは「参考情報であり、活発な命令ではない」と明示的にマーク
  • 構造化サマリー(解決済み / 未処理 / 現在の作業ディレクトリ状態)
  • 反復圧縮対応(情報が段階的に精製され、突然失われない)

セキュリティアーキテクチャ

ターミナルやファイルシステムを操作できるエージェントにとって、セキュリティはアーキテクチャの一部です。

4層防御モデル(Defense in Depth)

Layer 4: データ保護
  ├── API Key / Token / Password の脱敏
  ├── PII ハッシュ化
  └── 認証情報ファイルの隔離

Layer 3: 実行境界
  ├── 子エージェントのツール制限(再帰禁止・メッセージ送信禁止)
  ├── ツール呼び出し予算(1ターンあたりの最大数)
  └── 実行タイムアウト(フォアグラウンド 600s)

Layer 2: ツールレベル
  ├── パス安全性(ディレクトリトラバーサル防止)
  ├── SSRF 防護(内部ネットワークアクセス防止)
  ├── 危険コマンド承認(rm -rf, sudo, iptables 等)
  └── URL 安全チェック(悪意あるドメインのブロック)

Layer 1: 入力サニタイズ
  ├── Prompt Injection 検出(10+ 脅威パターン)
  ├── 不可視文字検出(ZWJ, ZWNJ, BOM)
  └── コンテキストファイルスキャン(AGENTS.md, .cursorrules)

インストールガイド

環境要件

  • Python: 3.11 以上
  • 対応OS: Linux, macOS, WSL2, Windows(ネイティブ), Android(Termux)

Linux / macOS / WSL2

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Windows(ネイティブ、PowerShell)

iex (irm https://hermes-agent.nousresearch.com/install.ps1)

インストール後

# シェルをリロード
source ~/.bashrc    # Linux
source ~/.zshrc     # macOS

# 起動テスト
hermes

⚠️ 注意: sudo でインストールスクリプトを実行しないでください。一般ユーザー権限で実行してください。

コントリビューター向け(ソースからビルド)

git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
./setup-hermes.sh      # uv インストール、venv 作成、依存関係インストール
./hermes               # venv 自動検出、source 不要

初期設定とモデル構成

セットアップウィザード

hermes setup

ウィザードが以下を案内します:

  1. LLM プロバイダの選択
  2. API Key の入力
  3. デフォルトツールセットの設定
  4. 基本設定の構成

Nous Portal(最速セットアップ)

API キーを個別に集めるのが面倒な場合は、Nous Portal がすべてをカバーします:

hermes setup --portal

OAuth ログイン1回で、モデル + Web検索 + 画像生成 + TTS + ブラウザの全機能が使えるようになります。

モデル切り替え

hermes model  # 対話式メニュー

インストール検証

hermes doctor

以下を自動チェック:

  • ✅ Python バージョン
  • ✅ 依存関係の完全性
  • ✅ モデル設定の有効性
  • ✅ ツールチェーンの正常性

💡 経験則: 問題が発生したら、まず hermes doctor を実行してください。80% の問題はこれで原因が判明します。


日常操作コマンド一覧

CLI コマンド

コマンド 説明
hermes 対話式CLI を起動
hermes model モデルプロバイダ/モデルを選択
hermes tools 有効なツールを設定
hermes config set 個別設定値を変更
hermes gateway メッセージングゲートウェイを起動
hermes setup フルセットアップウィザード
hermes update 最新版にアップデート
hermes doctor 問題の診断

対話中のスラッシュコマンド

コマンド CLI メッセージング 説明
/new or /reset 新しい会話を開始
/model [provider:model] モデルを切り替え
/personality [name] パーソナリティを変更
/retry 最後のターンをやり直し
/undo 最後のターンを取り消し
/compress コンテキストを圧縮
/usage トークン使用量を確認
/skills スキル一覧を表示
/insights [--days N] AIの「週報」を表示
/stop - 現在の処理を中断
Ctrl+C - 現在の処理を中断

重要コマンド解説

/skills — Hermes の「自己進化」能力の可視化ウィンドウ。1ヶ月使った後にこのコマンドを打つと、蓄積されたスキルの数に驚くでしょう。

/insights --days 7 — AI 助手の「週報」。今週何を学んだか、どのスキルが頻繁に使われたか、どのタスクパターンが繰り返されているかを要約します。AIの「業績評価」が初めて可能になります。


実践:エージェントワークフローを構築する

例1:基本的な対話

hermes  # CLI を起動

# 以下のようなプロンプトを入力
> 現在のディレクトリにある100MB以上のファイルを全部リストアップして

Hermes は内蔵ツールを呼び出し、ターミナルコマンドを実行して結果を返します。

例2:開発支援ワークフロー

> このリポジトリのテストカバレッジを分析して、
> カバレッジの低いモジュールを特定し、
> 最も効果的なテストケースを3つ提案して

Hermes は以下を自動的に行います:

  1. ターミナルツールでテストを実行
  2. カバレッジレポートを解析
  3. コードを読み込んで分析
  4. 提案を生成

例3:定期レポートの自動化

# ゲートウェイ起動
hermes gateway

# Telegram から以下を送信
"毎朝9時に、GitHubリポジトリの昨日のPRとイシューのサマリーを
このチャットに送って"

Hermes が cron ジョブとして登録し、毎朝自動実行します。

例4:マルチモデル戦略

# 安いモデルでドラフト作成
/model openrouter:meta-llama/llama-3.1-8b-instruct

> このAPIの設計書のドラフトを作って

# 高性能モデルに切り替えて推敲
/model anthropic:claude-sonnet-4-20250514

> さっきのドラフトをレビューして改善して

OpenClaw からの移行

Hermes Agent は OpenClaw(龍蝦) の正式な後継プロジェクトです。同じチーム、同じプロダクトラインですが、アーキテクチャと機能が大幅にアップグレードされています。

自動検出

初回の hermes setup 実行時に ~/.openclaw ディレクトリを検出すると、自動的に移行を提案します。

手動移行

# 対話式移行(推奨)
hermes claw migrate

# プレビュー(実行しない)
hermes claw migrate --dry-run

# ユーザーデータのみ(シークレット除外)
hermes claw migrate --preset user-data

# 既存の衝突を上書き
hermes claw migrate --overwrite

移行される内容

データ 説明
SOUL.md ペルソナファイル
MEMORY.md / USER.md 記憶データ
Skills 自作スキル → ~/.hermes/skills/openclaw-imports/
Command allowlist コマンド承認パターン
API Keys Telegram, OpenRouter, OpenAI, Anthropic, ElevenLabs 等
TTS assets ワークスペース音声ファイル
AGENTS.md ワークスペース指示

✅ 移行後も OpenClaw の原始データは削除されません。安心して操作できます。


ビジネス視点での価値

1.「モデル非依存」は最大の保険

今日は GPT-4 を使い、明日 Claude が強くなったら Claude に切り替え、明後日はコスト削減のために国産モデルに切り替える — スキルとメモリはモデル切り替えの影響を受けません。AI が急速に変化する今日、これは最も重要な防御策です。

2.「クロスプラットフォームのコンテキスト維持」は顧客対応の痛点を解決

顧客が WeChat で聞いた内容を Telegram で再度聞いてきても、Hermes は一貫して対応できます。1つの記憶ですべてのチャネルをカバーします。

3.「OpenClaw 一括移行」はエコシステムの収束を示す

新プロジェクトが旧プロジェクトの移行ツールを提供するとき、それは最終的な勝者になる自信を示しています。186K stars + MIT + 一括移行 — 今から導入するリスクは非常に低いです。

4. /insights で AI の「業績評価」が可能に

AI アシスタントが何を学んだか、どれだけ成長したかを初めて定量的に把握できます。AI 社員の管理が「勘」ではなく「データ」に基づくようになります。

5. Claude Code 比92%のコスト削減

ICLR 2026 Oral で発表された GEPA 論文に基づき、同等のコーディングタスクで Claude Code 比 92% のコスト削減が報告されています(※環境・モデル構成により変動あり)。


まとめ

Hermes Agent を一言でまとめると:

ツールではなく、成長するパートナー。

使えば使うほどスキルと記憶が蓄積され、あなたの作業スタイルを深く理解するようになります。

Hermes Agent が他のエージェントフレームワークと根本的に異なる4つのキーワード:

キーワード 意味
モデル非依存 どのLLMにもロックインされない
マルチプラットフォーム 20+プラットフォームを1つのエージェントでカバー
永続メモリ セッションを跨いで成長し続ける
自己進化 スキルが使用中に自動で改善される

この4つが組み合わさったオープンソースエージェントフレームワークは、現時点で他に存在しません


参考リンク

リソース URL
GitHub リポジトリ https://github.com/NousResearch/hermes-agent
公式サイト https://hermes-agent.nousresearch.com
公式ドキュメント https://hermes-agent.nousresearch.com/docs
アーキテクチャドキュメント https://hermes-agent.nousresearch.com/docs/developer-guide/architecture/
知乎 完全ガイド https://zhuanlan.zhihu.com/p/2027128115831260939
日本語完全解説(プランタン東京) https://blog.printemps.tokyo/blog/hermes-agent-overview
アーキテクチャ深掘り(Jiayun's Blog) https://xiejiayun.github.io/post/hermes-agent-architecture/
DeepWiki 解析 https://deepwiki.com/NousResearch/hermes-agent
Hermes Atlas https://hermesatlas.com/projects/NousResearch/hermes-agent
Nous Research https://nousresearch.com
Skills Hub https://agentskills.io
Discord コミュニティ Hermes Agent 公式 Discord
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?