나는 제로 러스트 경험으로 24시간 안에 오픈소스 Cowork를 구축했다 — 그리고 에이전트가 스스로 구축한다
Source: Dev.to
나는 전혀 Rust 경험이 없고, 에이전트를 만들 때 수많은 프레임워크가 필요하다는 고정관념을 버렸습니다. 24시간 뒤, 나는 비개발자를 위한 Rust‑네이티브 AI 에이전트 데스크톱을 만들었고, 16 MB 바이너리로 컴파일되었으며, 간단한 while 루프와 Skills, MCP 지원, BYOK(자신의 키 사용) 및 로컬 모델까지 포함했습니다!
The Stack
- Rust – 제로에서 하루 만에 배포
- Long‑term memory – 파일 시스템을 영구적이고 쿼리 가능한 컨텍스트로 활용
- Loop – I/O와 툴 호출을 조정하는 단일
while루프 - Tools – 내장 파일 툴(읽기, 쓰기, bash) + MCP‑준수 제공자(확장 가능)
- Sandboxing – 대부분의 위험을 격리하는 간단한 Docker 컨테이너
Secret Sauce
- 상태를 일반 파일과 디렉터리에 보관한다.
- 오케스트레이션을 프레임워크가 아닌 간단한 루프로 유지한다.
- AI에게 파일에 자신의 운영 컨텍스트를 읽고 쓰도록 가르친다.
What I Learned
1. You don’t need an agent framework
프레임워크는 불필요한 추상화와 복잡성을 추가하는 경우가 많다. 간단한 루프만 있으면 충분하다:
- Observe – 입력, 로그, 작업 파일을 읽는다
- Decide – 모델에게 다음 원자 행동을 요청한다
- Act – 툴(MCP)을 호출하거나 디스크에 쓴다
- Reflect – 결과를 로컬 저널에 추가한다
2. The file system is all you need
벡터 스토어와 RAG 파밍은 훌륭하지만, 과도한 오버헤드가 될 수 있다.
- 모든 것을 파일로 관리한다: 작업, 계획, diff, 결정, 로그는 모두 일반 텍스트 또는 JSON 형태로 존재한다.
- 최신 RL‑학습 모델은 Linux 파일 시스템과 잘 맞는다.
- 파일 시스템을 “장기 메모리”로 사용하면 영속성이 간단해지고 복구가 명확해진다.
3. The surreal mirror: AI coding reproduces itself
나는 AI 에이전트(Claude Code)를 사용해 프로젝트를 구축했다. Open Cowork는 본질적으로 Copilot‑같은 에이전트를 뒤에 두고 있는 GUI이며, AI가 Rust 안에서 스스로를 재생산할 수 있음을 보여준다.
4. Security as a first‑class citizen
에이전트는 강력하지만 경계가 없으면 위험 요소가 된다. 비개발자에게 보안은 단순 기능이 아니라 기반이다.
- 강력한 샌드박스(예: Docker)와 시스템 명령 또는 네트워크 호출에 대한 엄격한 화이트리스트를 적용해 에이전트를 유용하게 유지하고 시스템 위협을 방지한다.
Code Overview
전체 코드베이스는 아래 루프에서 요약될 수 있다:

프로젝트는 오픈 소스이다:
자유롭게 탐색하고, 사용해보고, 피드백을 공유해 주세요!