내가 Podiom을 만든 이유: 로컬 AI 에이전트를 위한 프로젝트 레이어
요약
Podiom은 Claude Code와 Codex 같은 기존 AI 코딩 도구들을 오케스트레이션하는 프로젝트 레이어입니다. 에이전트 간 공유된 컨텍스트, 목표 관리, 스케줄링 기능을 제공하여 세션 간의 단절 문제를 해결합니다.
핵심 포인트
- 기존 AI 에이전트(Claude Code, Codex)를 대체하지 않고 그 위에 동작하는 레이어
- 에이전트 간 공유 가능한 프로젝트 상태 및 컨텍스트 제공
- Markdown 파일을 활용한 간편한 작업 스케줄링 및 자동화
- Go 언어 기반의 단일 바이너리로 다양한 OS 및 아키텍처 지원
문제점: 세션 사이에 프로젝트가 사라집니다
Claude Code와 Codex는 환상적인 도구들이지만, 근본적으로 세션 지향적(session-oriented)입니다.
질문에 답하거나 집중적인 코드 변경을 수행하는 데는 완벽합니다. 하지만 에이전트를 실제 프로젝트의 협업자로 사용하기 시작하면, 무언가 결여되어 있다는 느낌을 받기 시작합니다.
프로젝트 자체가 실제로 존재하지 않는 것입니다.
여러 에이전트가 기반으로 삼을 수 있는 공유된 이해(shared understanding)가 없습니다. 장기적인 목표(Long-running goals)를 관리할 주인이 없습니다. 예정된 작업은 결국 cron 작업이나 쉘 스크립트(shell scripts)에 머물게 됩니다. 머지않아 당신은 오직 당신만이 이해할 수 있는 마크다운(markdown) 노트, 헬퍼 스크립트(helper scripts), 그리고 관례(conventions)들의 모음만을 쌓아두게 될 것입니다.
나는 다른 것을 원했습니다.
또 다른 코딩 에이전트가 아닙니다. 또 다른 모델 API도 아닙니다.
내가 이미 사용 중인 에이전트들 위에 위치하는 프로젝트 레이어(project layer)입니다.
Podiom이란 무엇인가
Podiom은 이미 설치되어 있는 claude 및 codex CLI를 오케스트레이션(orchestrate)하는 Go 데몬(daemon)입니다.
이것은 Claude Code나 Codex를 대체하지 않습니다. 그들의 도구, MCP 서버, 또는 기술(skills)을 재구현하지도 않습니다. 대신, 그 주변에 공유된 프로젝트 상태(shared project state)를 제공합니다.
포함되는 기능은 다음과 같습니다:
- 공유된 프로젝트 컨텍스트 (Shared project context). 모든 프로젝트는 설정된 모든 에이전트가 읽고 업데이트할 수 있는 공유된 원장(shared ledger)과 워크스페이스(workspace)를 가집니다. 따라서 지식이 개별 대화 안에 갇히지 않습니다.
- 목표 (Goals). 결과물을 설명하고, 성공 기준을 정의하며, 에이전트를 할당하면, 에이전트가 시간을 두고 작업을 계획하고, 진행 상황을 검토하며, 보고합니다.
- 스케줄링 (Scheduling). 반복되는 작업은 단순히 YAML 프론트매터(frontmatter)가 포함된 마크다운(Markdown) 파일일 뿐입니다. 이를 폴더에 넣으면 선택된 에이전트가 프로젝트의 공유된 컨텍스트를 사용하여 자동으로 실행합니다.
- 세션 연속성 (Session continuity). 에이전트는 제공자(providers)나 프로필(profiles)을 전환하더라도 매번 처음부터 다시 시작하는 대신 이전 작업을 계속할 수 있습니다.
Podiom은 임베디드된 Svelte UI를 포함한 단일 정적 Go 바이너리(binary)로 제공되며, 순수 Go SQLite(modernc.org/sqlite)를 사용하므로 Linux, macOS, Windows의 amd64 및 arm64 아키텍처 모두에서 깔끔하게 교차 컴파일(cross-compiles)됩니다.
예약된 에이전트는 단순한 Markdown 파일입니다
하나의 설계 목표는 숨겨진 설정을 피하는 것이었습니다.
예약된 작업(scheduled task)은 단순히 ~/.podiom/schedules/ 디렉토리 아래에 있는 Markdown 파일입니다. YAML 프론트매터(frontmatter)는 실행되는 _시점(when)_을 정의하며, 본문은 프롬프트(prompt)가 됩니다.
---
agent: jared
model: ""
...
유지 관리해야 할 별도의 스케줄러 설정은 없습니다. 파일을 폴더에 넣기만 하면 Podiom이 자동으로 이를 발견합니다.
이러한 작업들은 종종 관리자 없이(unattended) 실행되기 때문에, 기본 실행 모드는 의도적으로 보수적으로 설정되었습니다. run_permission: preapproved 설정이 있으면, 명시적으로 허용된 도구만이 부수 효과(side effects)를 수행할 수 있습니다. 그 외의 모든 것은 새벽 3시에 누군가가 프롬프트를 승인하기를 조용히 기다리는 대신 거부됩니다.
스케줄은 CLI에서도 관리할 수 있습니다:
podiom schedules list
podiom schedules run morning-calendar
모든 예약된 실행은 일반적인 Podiom 세션이 되므로, 무슨 일이 일어났는지 검사하거나 나중에 대화형(interactively)으로 작업을 이어가기가 쉽습니다.
목표(Goals): 내 작업 방식의 변화
스케줄링은 _"매일 아침 이것을 실행해줘"_라는 요구에 답합니다.
목표(Goals)는 _"이 결과가 실제로 완료될 때까지 이 목표를 향해 계속 작업해줘"_라는 요구에 답합니다.
목표를 생성할 때 다음 항목들을 정의합니다:
- 제목 (title)
- 설명 (description)
- 성공 기준 (success criteria)
- 선택적 지표 (optional metrics)
- 해당 작업을 담당할 에이전트 (agent)
그다음부터 할당된 에이전트는 자체적인 계획을 세우고, 작업을 태스크(tasks)나 스케줄(schedules)로 나누며, 주기적으로 진행 상황을 검토하고, 시간이 지남에 따라 업데이트 내용을 기록합니다.
에이전트가 성공 기준이 충족되었다고 판단하면, 완료를 제안합니다.
실제로 목표를 완료로 표시할 수 있는 사람은 오직 당신뿐입니다.
라이프사이클(lifecycle)은 의도적으로 단순합니다:
| 상태 (Status) | 변경 주체 | 의미 |
|---|---|---|
active | — | 예정된 일정에 따라 검토가 계속됨 |
| ... |
에이전트의 권한은 권고(recommendation)를 하는 단계에서 끝납니다.
내부 구조
podiomd는 데몬(daemon)입니다. SQLite를 기반으로 웹 UI, 스케줄러, 프로젝트 로직 및 세션 오케스트레이션(orchestration)을 호스팅합니다.
podiom은 데몬과 통신하는 경량 CLI 클라이언트입니다.
프론트엔드는 Svelte, Vite, TypeScript, Tailwind로 구축되었으며, 빌드 과정에서 Go 바이너리에 직접 임베딩됩니다.
모든 것이 단일 구성 가능한 루트 디렉터리($PODIOM_HOME, 기본값 ~/.podiom/) 아래에 존재합니다.
또한 Home Assistant 애드온이 있어, 데몬을 직접 노출하는 대신 Home Assistant의 인증 및 보안 기능을 활용하여 Podiom을 로컬 네트워크 외부로 쉽게 노출할 수 있습니다.
현재 제한 사항 (Current limitations)
Podiom은 또 다른 모델 제공업체(model provider)가 아닙니다.
Claude Code와 Codex CLI를 기반으로 구축되었기 때문에, 이미 하나 또는 둘 다 설치 및 인증되어 있어야 합니다.
또한 아직 초기 단계(v0.4.x)이며, 의도적으로 단일 사용자용이고 호스팅되는 멀티테넌트 플랫폼이 되려고 하지 않습니다.
사용해 보기 (Try it)
curl -fsSL https://github.com/Podiom/Podiom/releases/latest/download/install.sh | bash
설치 프로그램은 podiom onboard를 실행하여 Claude Code와 Codex를 확인하고, 첫 번째 에이전트를 생성하는 과정을 안내합니다.
또는 직접 빌드할 수 있습니다 (Go 1.26+, Node 20+):
make build
./bin/podiomd
./bin/podiom status
이 프로젝트는 MIT 라이선스를 따릅니다.
리포지토리, 문서 및 요구 사항:
https://github.com/Podiom/Podiom
피드백, 아이디어, 이슈 및 풀 리퀘스트 모두 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기