LangGraph 기반의 지능형 소프트웨어 엔지니어링 에이전트
요약
LangGraph를 활용하여 지능적인 계획 및 실행을 자동화하는 소프트웨어 엔지니어링 에이전트 시스템입니다. 이 시스템은 아키텍트와 개발자라는 두 개의 전문 에이전트로 구성되어, 요구사항 분석부터 원자적 코드 수정까지 다중 단계의 워크플로우를 거칩니다. Pydantic 모델을 이용한 상태 관리와 고급 코드 검색 기능을 통해 높은 신뢰성을 확보했습니다.
핵심 포인트
- LangGraph 기반의 다중 에이전트 아키텍처 구현
- 아키텍트는 계획 수립, 개발자는 원자적 실행 담당
- Pydantic으로 타입 안정성 및 구조화된 상태 관리
- tree-sitter와 시맨틱 검색을 통한 코드베이스 이해
지능적인 계획 및 실행을 통해 코드 구현을 자동화하는 정교한 AI 기반 소프트웨어 엔지니어링 에이전트입니다. 신뢰할 수 있는 다중 에이전트 워크플로우를 위해 LangGraph로 구축되었습니다.
⚠️ 알파 상태: 이 프로젝트는 활발히 개발 중입니다. 기능은 변경될 수 있으며 일부 기능은 실험적일 수 있습니다. AI 기반 개발의 미래를 형성하고자 하는 얼리 어답터와 기여자에게 완벽합니다.
지능형 코드 계획: AI 아키텍트가 요구사항을 분석하고 상세한 구현 계획을 수립합니다.
자동화된 코드 생성: 개발자 에이전트가 정확한 파일 수정으로 계획을 실행합니다.
다중 에이전트 워크플로우: 신뢰성을 높이기 위해 별도의 계획 및 구현 단계를 거칩니다.
코드베이스 이해: tree-sitter와 시맨틱 검색(semantic search)을 사용한 고급 코드 분석 기능을 제공합니다.
점진적 개발: 안전하고 관리하기 쉬운 변경을 위해 원자적 작업(atomic task)으로 세분화합니다.
이 시스템은 두 단계의 LangGraph 워크플로우를 사용합니다:
아키텍트 에이전트:
- 코드베이스 구조 및 패턴을 연구합니다.
- 요구사항을 분석하고 가설을 생성합니다.
- 원자적 작업을 포함한 상세한 구현 계획을 생성합니다.
- 코드 검색 및 시맨틱 이해를 위한 도구를 사용합니다.
개발자 에이전트:
- 구현 계획을 단계별로 실행합니다.
- 정확하게 원자적인 코드 수정을 수행합니다.
- 새 파일을 생성하고 기존 파일을 수정합니다.
- 원래의 요구사항에 맞춰 변경 사항을 검증합니다.
User Request → Architect (Research & Plan) → Developer (Implement) → Results
주요 구성 요소:
상태 관리(State Management): Pydantic 모델을 사용하여 에이전트 간 구조화된 데이터 흐름을 구현합니다.
도구 통합(Tool Integration): 파일 시스템 작업, 코드 검색, 구조 분석 기능을 지원합니다.
연구 파이프라인(Research Pipeline): 가설 기반의 코드베이스 탐색을 수행합니다.
원자적 실행(Atomic Execution): 신뢰할 수 있는 구현을 위한 세분화된 작업을 제공합니다.
이 시스템은 Pydantic 모델을 사용하여 타입 안정성 및 검증을 위한 계층적 상태 관리 접근 방식을 사용합니다. 각 에이전트는 자체 상태를 유지하면서도 원활한 데이터 흐름을 위해 공통 엔티티를 공유합니다.
전체 워크플로우를 관리하는 최상위 오케스트레이터 상태:
class AgentState(BaseModel):
implementation_research_scratchpad: Annotated[list[AnyMessage], add_messages]
implementation_plan: Optional[ImplementationPlan] = None
필드:
implementation_research_scratchpad
:
연구 및 계획 단계의 메시지 기록
implementation_plan
:
아키텍트 에이전트에 의해 개발자 실행을 위해 생성된 구조화된 계획
가설 기반 탐색을 통해 연구 및 계획 단계를 관리합니다:
class SoftwareArchitectState(BaseModel):
research_next_step: Optional[str] = None
implementation_plan: Optional[ImplementationPlan] = None
...
필드:
research_next_step
:
탐색 중인 현재 가설 또는 연구 방향
implementation_plan
:
원자적(atomic) 작업이 포함된 생성된 구조화된 계획
implementation_research_scratchpad
:
연구 대화 기록 및 도구 출력
is_valid_research_step
:
연구 가설 품질에 대한 검증 플래그
워크플로우:
- 연구 가설 생성 → 가설 검증 → 연구 수행 → 구현 계획 추출
아키텍트의 계획을 단계별로 구현합니다:
class SoftwareDeveloperState(BaseModel):
implementation_plan: Optional[ImplementationPlan] = None
current_task_idx: Optional[int] = 0
...
필드:
implementation_plan
:
아키텍트 에이전트로부터 받은 계획
current_task_idx
:
구현 중인 현재 파일 수준 작업의 인덱스
current_atomic_task_idx
:
작업 내 현재 원자적 변경의 인덱스
diffs
:
정확한 파일 수정을 위한 생성된 코드 차이(difference)
atomic_implementation_research
:
현재 구현 단계에 대한 연구
codebase_structure
:
대상 코드베이스 구조의 현재 스냅샷
current_file_content
:
수정 중인 파일의 내용
워크플로우:
- 작업 반복 → 특정 구현 연구 → 차이 생성(diffs) → 변경 적용
이러한 Pydantic 모델들은 에이전트 간의 데이터 계약을 제공합니다:
class ImplementationPlan(BaseModel):
tasks: List[ImplementationTask]
모든 파일 수준의 구현 작업을 포함하는 최상위 계획.
class ImplementationTask(BaseModel):
file_path: str # 수정 대상 파일 경로
logical_task: str # 변경 사항에 대한 고수준 설명
...
특정 파일에 필요한 변경 사항을 나타냄.
class AtomicTask(BaseModel):
atomic_task: str # 구체적인 코드 수정 지침
additional_context: str # 이 변경을 위한 연구 컨텍스트
가장 작은 구현 단위 - 단일 코드 변경.
class DiffTask(BaseModel):
original_code_snippet: str # 대체되는 정확한 코드 조각
task_description: str # 상세 변경 지침
코드 수정을 위한 정밀한 diff 지침.
User Request
↓
AgentState {research_scratchpad: [HumanMessage("auth 추가")]}
...
타입 안전성 (Type Safety): Pydantic 검증이 상태 손상을 방지함
추적 가능성 (Traceability): 디버깅을 위한 완전한 메시지 기록
재개 가능성 (Resumability): 상태를 영속화하고 재개할 수 있음
모듈성 (Modularity): 각 에이전트가 자체적인 관심사를 관리함
원자성 (Atomicity): 세분화된 작업 분해를 통해 정밀한 제어 가능
- Python 3.12+
- uv (Python 패키지 관리자)
- Anthropic API 키 (Claude Sonnet 4)
저장소 복제 (Clone the repository)
git clone https://github.com/langtalks/swe-agent-langgraph.git
cd swe-agent-langgraph
환경 설정 (Set up environment)
# uv를 사용하여 종속성 설치
uv sync
# 환경 파일 생성
...
저장소 복제 및 워크스페이스 지정 (Clone a repo to ./workspace_repo)
git clone https://github.com/browser-use/browser-use ./workspace_repo
에이전트 실행 (Run the agent)
# 환경 활성화
source .venv/bin/activate
# LangGraph 서버 시작
...
브라우저 사용 에이전트에 이미지 입력을 지원(예: step1.png, step2.png)하여 다중 모드 지침을 수락하도록 활성화합니다. 이는 에이전트가 모호하거나 불분명한 텍스트 명령을 해석하고 따르는 능력을 향상시킬 것입니다.
출력: (워크스페이스 저장소 git 브라우징)

agent/
├── architect/ # 계획 및 리서치 에이전트
│ ├── graph.py # 메인 아키텍트 워크플로우
...
엔티티 및 상태 관리 (Entities & State Management):
ImplementationPlan
: 구조화된 작업 분해(Structured task breakdown)
AtomicTask
: 개별 코드 수정 단위(Individual code modification units)
ImplementationTask
: 파일 수준 구현 단계(File-level implementation steps)
에이전트 워크플로우 (Agent Workflows):
- 가설 검증을 통한 리서치 기반 계획 수립(Research-driven planning with hypothesis validation)
- 도구 지원 코드 탐색 및 분석(Tool-assisted code exploration and analysis)
- 검증을 통한 점진적 구현(Incremental implementation with verification)
# 모든 테스트 실행
uv run pytest
# 커버리지와 함께 실행
...
| 파일 | 설명 |
|---|---|
README.md | 프로젝트 문서 (본 파일) |
pyproject.toml | Python 프로젝트 구성 및 의존성 |
langgraph.json | 그래프 정의가 포함된 LangGraph 애플리케이션 설정 |
langgraph_debug.py | 개발 및 테스트를 위한 디버그 설정 |
uv.lock | 재현 가능한 빌드를 위한 잠긴(Locked) 의존성 버전 |
.env | 환경 변수 ('.env.example'에서 생성) |
.env.example | 환경 구성 템플릿 |
.gitignore | Python 및 IDE 파일에 대한 Git 무시 패턴 |
.python-version | pyenv를 위한 Python 버전 명세 |
기능 개발 (Feature Development): 고수준 요구사항을 기반으로 새로운 기능 구현
버그 수정 (Bug Fixes): 자동화된 코드 변경을 통해 문제 분석 및 수정
코드 리팩토링 (Code Refactoring): 기능 유지와 동시에 코드 재구성
문서화 (Documentation): 코드 문서 생성 및 업데이트
테스팅 (Testing): 테스트 케이스 생성 및 실패한 테스트 수정
AI 기반 소프트웨어 개발의 미래를 함께 만들어가고 있습니다! 커뮤니티 기여를 통해 찾고 있는 다음 주요 기능들은 다음과 같습니다:
–
다단계 연구 및 개발 루프 (Multi-step Research & Development Loop): 피드백 사이클을 통한 구현 계획의 반복적 개선 –
테스팅 에이전트 (Testing Agent): 단위 테스트, 기능 테스트 및 테스트 케이스 생성을 위한 전용 에이전트 –
오류 수정 에이전트 (Error Fixer Agent): 코드 오류를 감지, 분석 및 수정하는 전문 에이전트 –
제품 관리자 에이전트 (Product Manager Agent): 고수준 계획 수립 및 요구사항 분석 에이전트
–
린터 추가 (Add Linters): 코드 품질 도구(ESLint, Black, Pylint)를 워크플로우에 통합 –
컴포넌트 평가 벤치마킹 (Components Evaluation Benchmarking): 성능 지표 및 품질 평가 프레임워크 –
코드 시맨틱 인덱싱 (Code Semantic Indexing): 고급 코드 이해 및 유사성 감지
–
GitHub MCP 통합 (GitHub MCP Integration): GitHub 리포지토리 및 워크플로우와의 직접적인 통합 –
Context7 MCP 통합 (Context7 MCP Integration): 향상된 컨텍스트 관리 및 코드 이해 –
다국어 지원 (Multi-Language Support): Python을 넘어 JavaScript, TypeScript, Java, Go 등으로 확장
–
대화형 계획 UI (Interactive Planning UI): 계획 검토 및 수정을 위한 웹 인터페이스 –
협업 워크플로우 (Collaborative Workflows): 다중 개발자 조정 및 충돌 해결 –
성능 최적화 (Performance Optimization): 더 빠른 연구 및 구현 주기 –
플러그인 시스템 (Plugin System): 확장 가능한 도구 및 에이전트 아키텍처
기여하고 싶으신가요? 위의 기능 중 하나를 선택하여 LangTalks 커뮤니티에 참여하세요! 각 기능은 개별 기여자 또는 소규모 팀이 다룰 수 있도록 설계되었습니다.
여러분의 기여를 환영합니다! 이 프로젝트는 AI 기반 소프트웨어 개발의 경계를 넓히는 것을 목표로 합니다. 도움이 필요한 영역:
에이전트 개선 (Agent Improvements): 더 나은 추론 및 계획 전략
도구 개발 (Tool Development): 새로운 코드 분석 및 수정 도구
테스팅 (Testing): 포괄적인 테스트 커버리지 및 검증 프레임워크
문서화 (Documentation): 예제, 튜토리얼 및 사용 사례
성능 (Performance): 최적화 및 벤치마킹
리포지토리 포크 (Fork the repository)
기능 브랜치 생성 (Create a feature branch) (git checkout -b feature/amazing-feature)
변경 사항 적용하기 (Make your changes): 기존 코드 패턴을 따르세요. 새 기능에 대한 테스트 추가하기 (Add tests): uv run pytest를 실행하세요. 테스트 통과 확인하기 (Ensure tests pass): uv run pytest 문서 업데이트하기 (Update documentation): 필요하다면 업데이트하세요. 변경 사항 커밋하기 (Commit your changes): git commit -m 'Add amazing feature' 브랜치에 푸시하기 (Push to the branch): git push origin feature/amazing-feature 명확한 설명과 함께 Pull Request 열기 (Open a Pull Request)
# 포크(fork) 복제하기
git clone https://github.com/langtalks/swe-agent-langgraph.git
cd swe-agent-langgraph
...
LangGraph: 다중 에이전트 워크플로우 오케스트레이션 (Multi-agent workflow orchestration)
LangChain: AI 통합 및 도구 관리 (AI integration and tool management)
Anthropic: 지능형 추론을 위한 Claude Sonnet 4
Tree-sitter: 강력한 코드 파싱 및 분석
Pydantic: 타입 안전 데이터 검증 및 직렬화
- 신뢰성을 위한 원자적 작업 실행 (Atomic task execution for reliability)
- tree-sitter를 사용한 효율적인 코드 분석
- 확장성을 위한 구조화된 상태 관리
- 확장성을 위한 도구 기반 아키텍처 (Tool-based architecture for extensibility)
주요 설정 파일:
langgraph.json
: 에이전트 그래프 및 의존성 정의
.env
: API 키 및 환경 변수
pyproject.toml
: Python 종속성 및 프로젝트 메타데이터
본 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.
- 신뢰할 수 있는 에이전트 워크플로우를 위해 LangGraph로 구축됨
- 지능형 추론을 위해 Anthropic Claude가 구동함
- 강력한 코드 파싱을 위해 tree-sitter 사용
- 자세한 내용은 deepwiki를 참조하세요.
LangTalks 홈페이지: 커뮤니티 리소스 및 지원은 www.langtalks.ai를 방문하세요. 이슈 (Issues): GitHub Issues를 통해 버그를 보고하고 기능을 요청하세요. 토론 (Discussions): GitHub Discussions에서 대화에 참여하세요. 문서 (Documentation): 전체 문서는 이 README에서 확인할 수 있습니다.
AI로 소프트웨어 개발에 혁명을 일으킬 준비가 되셨나요? LangTalks에 합류하여 자동화된 코딩의 미래를 함께 만들어가세요! ⚡🤖
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기