검증 게이트를 통해 스스로 도구를 작성하는 데스크톱 AI 에이전트 구축기
요약
에이전트가 스스로 필요한 도구 플러그인을 작성하고 확장할 수 있는 데스크톱 AI 에이전트 AMA-teras를 소개합니다. 격리된 환경에서의 코드 생성과 엄격한 검증 게이트를 통해 안전한 자기 진화 메커니즘을 구현했습니다.
핵심 포인트
- 에이전트가 부족한 기능을 스스로 도구로 작성하는 자기 진화 구조
- git worktree를 활용한 격리된 코드 생성 환경 구축
- 타입 체크, 단위 테스트, 스모크 테스트를 포함한 다단계 검증 게이트
- 사람의 승인 및 자동 롤백 시스템을 통한 안전성 확보
스스로 도구를 작성하는 데스크톱 AI 에이전트 — 그리고 왜 모든 코드가 실행 전 검증 게이트를 통과해야 하는가.
갈증 (The itch)
에이전트의 역량은 조용히 특정 벤더의 가격 플랜과 동의어가 되어가고 있습니다. 저는 그 반대를 원했습니다. 모델을 교체 가능한 부품(Anthropic / OpenAI / Moonshot, 또는 무료 티어의 OpenAI 호환 API)으로 사용하며, 에이전트가 작성한 도구가 나의 자산으로서 내 PC에 남는, 내 기기에서 실행되는 에이전트 말입니다.
그래서 저는 AMA-teras (AGPL, Electron + TypeScript)를 구축했습니다. 이는 에이전트가 스스로에게 부족한 역량에 직면했을 때, 자신을 위한 새로운 도구 플러그인을 작성하는 데스크톱 에이전트입니다.
가장 무서운 부분, 우선 해결하기
"자기 진화(Self-evolving)"는 공포 영화처럼 들릴 수 있기에, 파이프라인 자체가 곧 제품입니다:
- 생성은 격리된 git worktree에서 이루어집니다. 실행 중인 앱은 절대 건드리지 않습니다.
- 생성된 도구는 반드시 **타입 체크 (typecheck) → 실제 단위 테스트 (unit tests) → 스모크 테스트 (smoke run)**를 통과해야 합니다.
- 그 후 사람이 전체 diff를 읽고 승인 또는 거부합니다.
- 승격(Promotion)은 git tag로 이루어지며, 헬스 체크(health checks)에 실패하면 **자동 롤백 (auto-rollback)**됩니다.
- 에이전트는 자신의 승인 메커니즘이나 진화 엔진을 수정할 수 없습니다 (보호된 경로는 tripwire gate에 의해 강제됩니다).
자신을 위해 작성한 코드와 커뮤니티 레지스트리에서 가져온 모든 것을 포함하여, 검토되지 않은 것은 아무것도 배포되지 않습니다 (공유 플러그인은 검증 증거 기록을 지닙니다. 다른 곳의 감사 결과 마켓플레이스 기술의 12~20%가 악의적이라고 보고되었기에, 증거가 없으면 아무것도 안 된다는 원칙이 옳다고 느꼈습니다).
실제로 할 수 있는 것
-
채팅으로 기능 요청 (
-
현재는 Windows 설치 프로그램(installer)만 제공됨 (다른 곳에서의 소스 빌드는 테스트되지 않음)
-
설치 프로그램은 서명되지 않음 (SmartScreen 경고 발생)
-
자기 진화(Self-evolution)는 핵심(core)이 아닌 도구 플러그인(tool plugins)으로 의도적으로 범위를 제한함
이 앱의 상당 부분은 동일한 검증 게이트(gates) 하에서 에이전트 스스로 구축되었습니다. 실패 사례들은 리포지토리(repo)에 기록되어 있습니다. 여기에는 에이전트가 자신의 작업 브랜치(work branch)를 삭제하여 우리가 두 개의 도구를 처음부터 다시 만들어야 했던 밤의 사건도 포함되어 있습니다 (이 사건 때문에 현재 야간 작업(nightly work)은 개인용 원격 저장소(private remote)로 자동 백업됩니다).
리포지토리(Repo): https://github.com/moriwo-dev-ai/ama-teras
피드백은 언제나 환영하며, 특히 안전 모델(safety model)에 대한 의견을 부탁드립니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기