Skip to content
Danny edited this page Apr 11, 2026 · 3 revisions

Danny's Coding AI Agent — Wiki

DeepAgents 개념을 기준선으로 삼아, 실제 개발 작업을 지속적으로 수행하는 코딩 에이전트의 설계/구현을 문서화한 Wiki 다. 이 Wiki 는 README 를 대체하지 않고, "코드의 어느 파일의 어느 위치가 README 의 어떤 주장을 실제로 구현하는지" 를 한 단계 더 파고 들어가는 보조 레퍼런스다.

README 는 "무엇을 만들었는가", Wiki 는 "그 안을 어떻게 들여다보고 확장할 수 있는가"를 다룬다.

3개의 설계 축

  1. 장기 메모리와 지식 저장 체계ChromaDB + SQLite 이중 저장, 3계층 분리, 세션을 넘어 재주입
  2. 동적으로 생성되고 정리되는 SubAgent 수명주기 관리split topology 에서 필요 시에만 spawn 되는 async subagent 프로세스
  3. Agentic loop 의 복원력과 안전성 — 모델 fallback, no-progress guard, subagent 실패 대체, safe stop 등

Wiki 페이지 구조

페이지 다루는 것
Architecture Runtime bootstrap, topology 분기, Main Agent middleware 스택, 질의 1개의 전체 흐름
SubAgents 10개 기본 역할, lazy spawn 메커니즘, per-subagent 프로세스 내부, 수명주기 상태
Memory and HITL 장기 메모리 3계층, Chroma + SQLite 이중 저장, remember SubAgent + Human in the Loop 리뷰 흐름
Human-in-the-Loop (code-level) remember SubAgent 강제 launch → 후보 파싱 → 세션 pause → 편집 폼 → 이중 저장 → aggregation resume 을 함수/라인 단위로 해설
Resilience and Models resilience.py 의 6개 policy, 모델 fallback 체인, safe stop 조건
Installation Docker 이미지 실행 / 로컬 venv 실행 / docker compose 빌드 세 가지 경로, 환경변수 전체 표
Testing and Development pytest ETC/tests 검증 절차, dev extras, 프로젝트 디렉터리 구조
File Reference "어떤 기능을 고치려면 어떤 파일을 먼저 보면 되는가" 포인터 맵

빠른 시작 (가장 짧은 경로)

로컬 Python 경로:

git clone https://github.com/leesk212/dannys-coding-ai-agent-final.git
cd dannys-coding-ai-agent-final
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
python -m coding_agent
# → http://localhost:8501

Docker 경로:

docker pull leesk212/coding-ai-agent-v5:latest
docker run -d --name dannys-coding-ai-agent -p 8501:8501 \
  -e DEEPAGENTS_DEPLOYMENT_TOPOLOGY=split \
  -e MAX_SUBAGENTS=30 \
  leesk212/coding-ai-agent-v5:latest

자세한 설치 옵션과 모든 환경변수는 Installation 참고.

이 프로젝트가 "또 하나의 에이전트 데모" 와 다른 점

  • 질의 1개 = 하나의 세션: 질의를 던지면 Main Agent 응답 1번으로 끝나는 게 아니라, 필요한 SubAgent 를 동적으로 띄우고 → 작업을 병렬 실행하고 → remember SubAgent 가 장기 메모리 후보를 선별하고 → 사람이 파일별 계층/근거/저장 노트를 리뷰/편집하고 → Main Agent 가 최종 aggregation 하는 전 과정이 한 세션이다.
  • Human in the Loop 가 중간에 들어감: 답변 후 피드백이 아니라, 메모리 저장 직전에 사람이 개입해서 "어떤 파일을 어느 계층에 왜 저장할지" 를 편집할 수 있음. Memory and HITL 참고.
  • Local SLM fallback 이 production path 에 포함: OpenRouter 가 실패하면 같은 fallback 체계가 langchain-ollama 로 내려가서 로컬 SLM 으로 끝까지 시도함. Resilience and Models 참고.
  • Main Agent 와 SubAgent 가 같은 프레임 공유: 둘 다 create_deep_agent(...) 기반으로 조립됨. 차이는 middleware 세트와 system prompt 뿐. Architecture 참고.

Wiki 편집 방침

  • README 를 복제하지 않는다. README 에 이미 있는 내용은 링크하고, Wiki 는 "구현의 어느 위치인가" 만 추가한다.
  • 모든 구현 주장은 file:line 로 인용한다. 리팩터링되면 깨지므로, 깨진 링크는 수정 대상이다.
  • 한국어 서술 + 영문 기술 용어 (README 와 같은 톤).

Clone this wiki locally