Serena

LLMを真の自律型コーディングエージェントへ

Serenaは、ローカルのコードベースをセマンティックに理解し、編集、テスト、コミットまでを自律的に実行する能力をLLMに与える、オープンソースのツールキットです。

中核アーキテクチャ

言語サーバープロトコル(LSP)によるセマンティック理解

Serenaはコードを単なるテキストとしてではなく、IDEのようにシンボルの意味や関連性を理解します。この能力の基盤となっているのが、多様なプログラミング言語の「知能」を標準化する言語サーバープロトコル(LSP)です。これにより、スケーラブルでメンテナンス性の高い多言語対応を実現しています。

🤖

LLM Agent

思考・命令

🛠️

Serena Toolkit

LSPを介した意味解析

💻

ローカルコードベース

直接的な操作

広範な言語サポート

LSPエコシステムを活用することで、Serenaは主要なプログラミング言語の多くを直接サポートしています。これにより、開発者は使い慣れた環境でAIエージェントの能力を最大限に引き出すことができます。

自律的タスク実行ループ

Serenaのツール群は、LLMが「知覚 → 分析 → 行動 → 検証」という認知ループを回し、複雑な開発タスクを自律的に完遂することを可能にします。

1. 知覚 (Perception)

`find_references`で関数の使用箇所を把握

2. 分析 (Analysis)

`read_file`で影響範囲を分析

3. 行動 (Action)

シンボリック編集ツールでリファクタリング

4. 検証 (Verification)

`execute_shell_command`でテストを実行

5. 完了 (Finalization)

`git commit`で変更を記録

柔軟なLLM統合パラダイム

Serenaは特定のLLMに縛られません。用途に応じて、最適な「頭脳」との接続方法を選択できる3つの柔軟な統合パスを提供します。

🔌

MCPサーバー

Claude CodeやCursorなど、MCP互換クライアントとシームレスに連携。最も手軽な「プラグアンドプレイ」アプローチです。

ユースケース: 最新AIフロントエンドの利用者

🧠

Agnoフレームワーク

OpenAI, GoogleからOllama経由のローカルモデルまで、事実上あらゆるLLMと接続可能。真のモデル非依存性を実現します。

ユースケース: モデルの柔軟性を求める開発者

🛠️

直接ツール統合

Serenaの機能をライブラリとして、独自のカスタムエージェントに直接組み込み。最大限の制御とカスタマイズが可能です。

ユースケース: 研究者・パワーユーザー

多層的設定システム

より具体的な設定が一般的な設定を上書きする「特異性のカスケード」により、単純なユースケースから複雑なものまで、柔軟に挙動を制御できます。

ランタイム

現在のセッションのみ

プロジェクト

`.serena/project.yml`

クライアント

コマンドライン引数

グローバル

`~/.serena/serena_config.yml`

エコシステムでの位置づけ

Serenaは、高価な商用ツールに対する、無料かつオープンソースの「パワーツール」として、開発者に最大限の制御と柔軟性を提供します。

比較軸 Serena 商用エージェント
コスト 無料 高価 (サブスク)
コード理解 深い (セマンティック) 可変 (一部セマンティック)
柔軟性 最大 限定的
制御権 開発者 ベンダー