中核アーキテクチャ
言語サーバープロトコル(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 | 商用エージェント |
---|---|---|
コスト | 無料 | 高価 (サブスク) |
コード理解 | 深い (セマンティック) | 可変 (一部セマンティック) |
柔軟性 | 最大 | 限定的 |
制御権 | 開発者 | ベンダー |