Patterns and techniques for evaluating and improving AI agent outputs.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Efficient code navigation using Serena MCP symbol operations instead of text search
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Navigate .NET codebases efficiently using Serena MCP symbol operations. Move beyond text search to precise symbol-level navigation.
Use when needing to:
Traditional approaches have limitations:
# Text search problems:
- "class UserService" finds comments, strings, unrelated mentions
- Line numbers change, breaking bookmarks
- Can't distinguish method overloads
- Misses inherited members
- No semantic understanding
Serena approach:
serena_find_symbol: "OrderService/ProcessOrder"
Text search fallback:
Grep: "public.*void.*ProcessOrder"
Read: src/Services/OrderService.cs
Serena approach:
serena_get_symbols_overview: "src/Services/OrderService.cs"
Returns:
Text search fallback:
Read: src/Services/OrderService.cs
Grep: "^ (public|private|protected)"
Serena approach:
serena_find_referencing_symbols: "OrderService"
Shows:
Text search fallback:
Grep: "OrderService"
# Manual filtering of false positives
# Scenario: Find where interface method is implemented
serena_find_symbol: "IOrderRepository/SaveAsync"
# Get implementing types
serena_find_referencing_symbols: "IOrderRepository"
# Navigate to concrete implementation
# Scenario: Who calls this method?
serena_find_referencing_symbols: "OrderService/ProcessOrder"
# Returns all callers with context
# Scenario: Find all implementations of an abstract method
serena_find_symbol: "BaseService/Execute"
serena_find_referencing_symbols: "BaseService"
# Review each derived type
| Scenario | Serena | Text Search |
|---|---|---|
| Find definition by name | ✅ Primary | Fallback |
| Understand file structure | ✅ Primary | Fallback |
| Track references | ✅ Primary | Fallback |
| Search by pattern/content | ❌ Not suitable | ✅ Primary |
| Read full file context | ❌ Not suitable | ✅ Primary |
| Regex-based search | ❌ Not suitable | ✅ Primary |
# Step 1: Find all references
serena_find_referencing_symbols: "OrderService/CalculateTotal"
# Step 2: Understand signature
serena_get_symbols_overview: "src/Services/OrderService.cs"
# Step 3: Replace with new signature
serena_replace_symbol_body: "OrderService/CalculateTotal"
# Step 1: Get entry point structure
serena_get_symbols_overview: "src/Program.cs"
# Step 2: Follow service registration
serena_find_symbol: "Program/ConfigureServices"
serena_find_referencing_symbols: "IOrderService"
# Step 3: Analyze dependency chain
serena_get_symbols_overview: "src/Services/OrderService.cs"
# Good
result = serena_find_symbol: "UserService"
if not found:
# Try text search or different name
Grep: "UserService"
# Use Serena for navigation
serena_find_symbol: "OrderService/ProcessOrder"
# Use Read for understanding implementation
Read: src/Services/OrderService.cs (lines 45-80)
# In agent memory or notes:
"OrderService defined in src/Services/OrderService.cs:15"
"ProcessOrder has 5 references"
Cause: LSP server not running or file not indexed
Solution:
# Fallback to text search
Grep: "class OrderService"
Read: found_file.cs
Cause: File changed since last index
Solution:
# Re-trigger indexing by opening file
Read: src/Services/OrderService.cs
# Or use text search for recent changes
Grep: "public void NewMethod"
Cause: Symbol name ambiguous
Solution:
# Use fully qualified name
serena_find_symbol: "MyApp.Services.OrderService"
# Or search with namespace context
serena_get_symbols_overview: "src/Services/OrderService.cs"
User: "I need to understand how Order processing works"
Agent:
1. serena_find_symbol: "OrderProcessingService"
2. serena_get_symbols_overview: "src/Services/OrderProcessingService.cs"
3. serena_find_referencing_symbols: "OrderProcessingService"
4. serena_find_symbol: "OrderProcessingService/ProcessOrder"
5. Read: specific implementation details
Result: Complete understanding with minimal file reads
Read: src/Program.cs
Grep: "OrderService"
Read: src/Services/OrderService.cs
Grep: "ProcessOrder"
Read: found references
serena_find_symbol: "OrderService"
serena_get_symbols_overview: "src/Services/OrderService.cs"
serena_find_referencing_symbols: "OrderService/ProcessOrder"
Read: specific implementations only
Result: 60% fewer file reads, precise targeting, better accuracy.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Patterns and techniques for evaluating and improving AI agent outputs.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Comprehensive AI prompt engineering safety review and improvement prompt. Analyzes prompts for safety, bias, security vulnerabilities, and effectiveness while providing detailed improvement recommendations.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when user requests research requiring multiple sources, comprehensive analysis, or synthesis across topics - technical research, domain knowledge gathering, market analysis, or learning about complex subjects
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AI-powered wiki generation for code repositories with commands, agents, and skills
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when building .NET 10 or C# 14 applications; when using minimal APIs, modular monolith patterns, or feature folders; when implementing HTTP resilience, Options pattern, Channels, or validation; when seeing outdated patterns like old extension method syntax
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Implements accessible .NET UI. SemanticProperties, ARIA, AutomationPeer, testing per platform.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.