Skip to content
LangGraph

Agent do code review z LangGraph

Zbuduj agenta AI do code review, który czyta pliki, szuka wzorców, analizuje jakość kodu i sugeruje ulepszenia — z LangGraph.

code reviewstatic analysisqualitydeveloper tools

Działający kod

LangGraph
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool
from langgraph.prebuilt import create_react_agent
@tool
def read_file(path: str) -> str:
"""Read a file from the project."""
return Path(path).read_text()
@tool
def find_files(pattern: str) -> str:
"""Find files matching a glob pattern."""
files = list(Path(".").rglob(pattern))
return "\n".join(str(f) for f in files[:20])
@tool
def search_code(pattern: str, path: str = ".") -> str:
"""Search for a regex pattern in source files."""
import subprocess
result = subprocess.run(
["grep", "-rn", pattern, path, "--include=*.py"],
capture_output=True, text=True,
)
return result.stdout[:3000] or "No matches found."
agent = create_react_agent(
ChatOpenAI(model="gpt-4o"),
tools=[read_file, find_files, search_code],
prompt="You are a code reviewer. Find relevant files, read them, search for patterns, and provide a structured review covering security, performance, and best practices.",
)
result = await agent.ainvoke({
"messages": [("user", "Review the Python files in src/ for common security issues")]
})
print(result["messages"][-1].content)

Krok po kroku

1

Zainstaluj zależności

Zainstaluj LangGraph i wymagane narzędzia do tego przypadku użycia.

2

Zdefiniuj narzędzia

Stwórz specyficzne dla domeny funkcje narzędzi, których agent będzie używał do interakcji z zewnętrznymi serwisami.

3

Stwórz agenta i uruchom

Zainicjalizuj agenta LangGraph z narzędziami, ustaw prompt systemowy i wykonaj zapytanie.

Gotowy do budowania z LangGraph?

Wygeneruj gotowy do produkcji projekt z LangGraph — FastAPI + Next.js, autoryzacja, streaming i więcej.

Rozpocznij

Gotowy, żeby zbudować swojego pierwszego agenta AI?

Open-source'owe narzędzia, sprawdzone wzorce, zero boilerplate'u. Skonfiguruj swój stos i wyślij w minuty — nie miesiące.