6. 직접 만들기: 회의록 정리 Agent

폴더와 파일 준비

이 차시를 마치면

폴더와 파일을 만들고 실행 환경을 준비합니다.

빈 폴더에서 출발합니다. 어느 폴더에 어떤 파일을 만드는지 하나도 건너뛰지 않고 짚습니다.

만들 파일

verify/
├─ sec_tools.py            읽기 도구        (4번 트랙에서 그대로 가져옴)
├─ sec_write_tools.py      쓰기 도구        ← 새로 만듭니다
├─ test_sec_write_tools.py 쓰기 도구 검증   ← 새로 만듭니다
├─ notes/
│  ├─ __init__.py
│  ├─ notes_state.py       State           ← 새로 만듭니다
│  ├─ notes_plan.py        쓸 내용 확정     ← 새로 만듭니다
│  ├─ notes_graph.py       그래프          ← 새로 만듭니다
│  └─ run_demo.py          전체 실행       ← 새로 만듭니다
├─ test_notes_plan.py      확정 로직 검증   ← 새로 만듭니다
└─ test_notes_graph.py     그래프 검증      ← 새로 만듭니다

읽기 도구는 새로 만들지 않습니다. 4번 트랙에서 만들어 검증한 것을 그대로 씁니다. 이유는 4차시에서 다룹니다.

폴더 만들기

mkdir -p verify/notes
touch verify/notes/__init__.py

__init__.pynotes 를 파이썬 패키지로 만듭니다. 이 파일이 없으면 from notes.notes_graph import ... 가 동작하지 않습니다.

실행 환경

4번 트랙 8차시와 같습니다. 호스트 파이썬이 3.10 이상이면 가상환경으로, 아니면 컨테이너로 합니다.

cd verify
docker build -t llmwiki-verify .

Dockerfilelangchain-openai 가 들어 있어야 합니다. 5번 트랙에서 더한 것입니다.

FROM python:3.12-slim
WORKDIR /work
RUN pip install --no-cache-dir --disable-pip-version-check langgraph langchain-openai
COPY . /work
CMD ["python", "-m", "unittest", "discover", "-p", "test_*.py", "-v"]

실행할 때 주의할 점

데모를 돌릴 때 모듈로 실행해야 합니다.

docker run --rm -v "$PWD":/work -w /work llmwiki-verify python -m notes.run_demo

python notes/run_demo.py 로 실행하면 파이썬이 notes/ 를 경로에 넣습니다. 그러면 최상위의 sec_tools 를 찾지 못해 이렇게 납니다.

ModuleNotFoundError: No module named 'sec_write_tools'

실제로 겪은 오류입니다. -m 을 쓰면 현재 폴더가 경로에 들어가 해결됩니다.

작업 폴더

Agent 가 다룰 폴더는 코드가 만듭니다. 손으로 만들지 않습니다.

workspace/
├─ meetings/     회의록을 여기에 둡니다
├─ actions/      결과가 여기에 생깁니다
└─ .backup/      덮어쓸 때 자동으로 생깁니다

workspace/ 는 읽기 도구의 ALLOWED_ROOT 입니다. Agent 는 이 폴더 밖을 읽지도 쓰지도 못합니다. 그 보장이 다음 차시들의 전제입니다.

확인

docker run --rm -v "$PWD":/work -w /work llmwiki-verify \
  python -c "import sec_tools; print(sec_tools.ALLOWED_ROOT)"

이렇게 나오면 준비된 것입니다.

/work/workspace

/work 는 컨테이너 안에서 현재 폴더를 가리키는 이름입니다. 위 docker run-v "$PWD":/work 가 내 폴더를 거기에 붙였습니다. 그러니 /work/workspace 는 내 컴퓨터의 verify/workspace/ 와 같은 곳입니다.

위 출력은 2026-08-15 에 실제로 실행해 받은 것입니다. 다른 경로가 나오거나 ModuleNotFoundError 가 나면 verify/ 폴더에서 명령을 내렸는지 확인하세요.

이해도 확인

문항을 불러오는 중입니다.