エージェントカーネル:ステートフルAIエージェントのための3つのMarkdownファイル

Agent Kernelの機能
Agent Kernelは、3つのマークダウンファイルとgitリポジトリを使用してAIコーディングエージェントをステートフルにする最小限の実装です。データベース、ベクトルストア、カスタムフレームワークを必要とせず、AGENTS.md、CLAUDE.md、.cursorrulesなどのファイルからプロジェクト指示を読み取る既存のメカニズムを活用します。
主要コンポーネント
カーネルは3つのマークダウンファイルで構成されます:
AGENTS.md– カーネル本体(汎用的、編集不可)IDENTITY.md– エージェントの役割を定義(エージェントが管理)KNOWLEDGE.md– ナレッジファイルのインデックス(エージェントが管理)
2つのディレクトリ構造が異なるタイプのメモリを扱います:
knowledge/– 状態情報を含む:現在の状況に関する事実。エージェントは現実が変化したときにこれらを更新します。notes/– ナラティブ情報を含む:決定、アクション、未解決事項を記録する日次セッションログ。これらは追加のみで、日付が変わった後に変更されることはありません。
セットアップと使用方法
任意のコーディングエージェントでの基本的なセットアップ:
git clone https://github.com/oguzbilgic/agent-kernel.git my-agent
cd my-agent
opencode # or claude, codex, cursor, etc.kern-ai(エージェントカーネル向けに構築されたランタイムで、デーモンモード、Telegram、Slack統合を追加):
npx kern-ai init my-agent
npx kern-ai tuiエージェントが初めてカーネルを読み取ると、新しいことを認識し、どのような役割を望むかを尋ねます。一度設定されると、セッションをまたいで記憶します。
複数エージェントとアーキテクチャ
各エージェントは独自のリポジトリで実行されます。別のエージェントを作成するには:
git clone https://github.com/oguzbilgic/agent-kernel.git another-agent
cd another-agent
opencode # or claude, codex, etc.これにより、同じカーネルを使用しながら異なるアイデンティティとナレッジベースを持つ複数の専門エージェント(ホームラボ、投資、健康など)を実行できます。
仕組み
このアプローチが機能するのは、AIエージェントがすでにAGENTS.mdなどのファイルをプロジェクト指示として読み取るためです。カーネルは「あなたはステートフルです、方法はこちら」と記述したファイルを提供し、プレーンマークダウンファイルでメモリを保存するためにgitリポジトリを使用することで、エージェントに記憶方法を教えます。
📖 完全なソースを読む: HN AI Agents
👀 See Also

BusyDog Desktop:Mac向けP2Pネットワーキング搭載ローカルAIエージェント
BusyDog Desktopは、Mac上でClaudeを直接実行するローカルAIエージェントです。ファイルの読み書き、ターミナルコマンドの実行、ブラウザの制御が可能で、Hyperswarm DHTとカスタムBDPプロトコルを使用したP2Pネットワークを通じて他のエージェントと接続します。

Claude Codeユーザーが問題解決コンテキストを取得するnvmプラグインを構築
開発者がClaudeプラグイン「nvm(不揮発性メモリ)」を作成し、Claudeのセッション履歴をマークダウンカードに変換して、問題解決の意思決定と再利用可能な知見を文書化しました。このツールは、AIコーディングアシスタントを使用する際に問題の解決方法を見失うという課題に対処しています。

OpenClawプラグインは、Engramサーバーによる永続メモリを追加します。
開発者が、OpenClawエージェントをEngramに接続するTypeScriptプラグインを作成しました。Engramは、SQLiteとFTS5検索を利用したGoベースの軽量メモリサーバーです。このプラグインは11のツール、4つのライフサイクルフック、そして各エージェントのターン前にプロンプトに関連するメモリを自動的に注入するリコール機能を提供します。

なぜAIエージェントには、関数呼び出しよりもUnixコマンドを備えた単一のrun()ツールが優れているのか
AIエージェント構築に2年の経験を持つバックエンドリードが、UnixスタイルのCLIコマンドを持つ単一のrun(command="...")ツールが、従来の関数呼び出しカタログよりも優れていると主張しています。このアプローチは、LLMがトレーニングデータから既に持っているシェルコマンドへの親和性を活用します。