TL;DR

LLM を、コードベース上で直接作業できるエージェントとして振る舞わせるための OSS のツールキット。IDE のようなセマンティックなコード検索・編集の機能を LLM に与える。

Serena is a powerful coding agent toolkit capable of turning an LLM into a fully-featured agent that works directly on your codebase.

なぜ必要か

Claude Code のパフォーマンス低下が話題になったことをきっかけに注目された。Serena はコードをシンボル単位で理解し、関連するコードだけを扱うので、トークンの消費量を抑えられる。OSS なので、API キーやサブスクリプションもいらない。

仕組み

コードのエンティティをシンボル単位で取り出し、その関係を使って効率よく作業する。

Serena provides essential semantic code retrieval and editing tools that are akin to an IDE’s capabilities, extracting code entities at the symbol level and exploiting relational structure.

言語の解析には LSP を使う。そのため Python、TypeScript、JavaScript、PHP、Go、Rust、C#、Java、Elixir、Clojure、C/C++ など多くの言語に対応している。Ruby、Kotlin、Dart は直接は対応していないが使える。

MCP サーバとして使えるので、Claude Code、Claude Desktop、Visual Studio Code、Cursor、IntelliJ など、さまざまな IDE や拡張機能、エージェントフレームワークと連携できる。プロジェクトの分析から設計、新しいコンポーネントの作成、リファクタリング、テスト、バージョン管理まで、幅広いタスクを自律的にこなせる。

例

関連

出典