Overview¶
ddd-agent는 LangGraph와 LangChain 위에 도메인 중심 agent application을 올리기 위한 Python 템플릿입니다.
이 저장소의 핵심은 "LangGraph를 쓰는 샘플"이 아니라, 다음을 분리해서 유지하는 데 있습니다.
- 도메인 규칙
- workflow orchestration
- human interaction
- execution adapter
- example application
현재 코어 패키지는 domain_agent 아래에 있고, 예제는 외부 demo app으로 examples/ 아래에 분리되어 있습니다.
현재 예제는 두 가지 모드를 함께 보여줍니다.
- autonomous execution:
examples/autonomous_digest - human-reviewed execution:
examples/operational_change,examples/mock_api - real HTTP API-backed review:
examples/github_repo_review
Domain First¶
이 템플릿을 이해할 때 가장 먼저 봐야 하는 것은 workflow가 아니라 domain입니다.
핵심 질문:
- 어떤 상태가 유효한가?
- 언제 review가 필요한가?
- 어떤 action이 실제로 실행 가능한가?
이 질문에 대한 답은 모두 src/domain_agent/domain/models.py에 있습니다.
요약:
Request가 aggregate rootProposal은 review용 summaryAgentPlan은 execution planPlanReviewResult는 overall decision과 action-level decision을 함께 표현
상세 설명: - Domain Model
What The Package Owns¶
이 템플릿이 직접 소유하는 것은 "도메인 중심 agent application의 의미"입니다.
RequestlifecycleAgentPlan과PlannedActionReviewPacketPlanReviewResult- optional human review semantics
- 사람이 검토한 action만 실행하는 규칙
즉, 이 프로젝트는 프레임워크를 다시 만드는 것이 아니라, LangGraph/LangChain 위에 올릴 DDD-friendly agent template을 제공합니다. review는 현재 포함된 human-in-the-loop capability 중 하나입니다.
What LangGraph Owns¶
현재 구조에서는 human-in-the-loop orchestration을 LangGraph에 적극 위임합니다.
- workflow node execution
- state hand-off
- interrupt / resume
- checkpoint-aware continuation
이 덕분에 코어가 직접 관리해야 하는 abstraction 수가 줄었습니다.
Reading Order¶
이 저장소를 처음 읽을 때는 아래 순서를 권장합니다.
src/domain_agent/domain/models.pysrc/domain_agent/application/dto.pysrc/domain_agent/application/ports.pysrc/domain_agent/orchestration/langgraph/graph.pysrc/domain_agent/orchestration/langgraph/nodes/deterministic.pysrc/domain_agent/application/use_cases.pysrc/domain_agent/adapters/inbound/cli_demo.py
Quick Start¶
workflow graph를 보려면:
Streamlit GUI로 보려면:
문서 사이트를 로컬에서 띄우려면:
새 agent를 직접 만들어보려면:
Related Docs¶
- Architecture
- Domain Model
- Usage Recipes
- API Reference
- Example Guide
- Package Map
- Runtime Flow
- Extension Guide
Code References¶
src/domain_agent/domain/models.pysrc/domain_agent/application/dto.pysrc/domain_agent/application/ports.pysrc/domain_agent/application/use_cases.pysrc/domain_agent/orchestration/langgraph/graph.pysrc/domain_agent/orchestration/langgraph/nodes/deterministic.pysrc/domain_agent/adapters/inbound/cli_demo.py