Litos: 순수 C#/.NET으로 밑바닥부터 구축한 미니멀 AI 코딩 에이전트
요약
C#/.NET 환경에서 Python이나 TypeScript 없이 순수하게 구축된 미니멀 AI 코딩 에이전트 Litos를 소개합니다. 에이전트 루프의 기본 원리와 뇌, 환경, 얼굴로 구분된 프로젝트 구조를 설명하며 오픈 소스로 공개되어 있습니다.
핵심 포인트
- Python 없이 순수 C#/.NET만으로 구축된 경량 에이전트
- 에이전트 루프(Agent Loop)의 핵심 작동 원리 설명
- 뇌(Brain), 환경(Environment), 얼굴(Face)의 3계층 구조 설계
- 확장성을 고려한 모듈형 아키텍처 적용
안녕하세요 dev.to, 이곳에 올리는 저의 첫 게시물입니다.
저는 23년 이상 C#/.NET을 작성해 왔으며, 지난 한 달 정도 동안 Litos를 구축해 왔습니다. Litos는 완전히 순수 C#/.NET으로 작성된 작고 투명한 AI 코딩 에이전트입니다. Python이나 Typescript는 사용하지 않았습니다.
목표는 기존의 거대한 코딩 에이전트들과 경쟁하는 것이 아니라, 직접 구축함으로써 에이전트가 내부적으로 어떻게 작동하는지 실제로 이해하는 것이었습니다.
이 포스트는 기초적인 내용만을 다룹니다. 즉, "에이전트 루프 (agent loop)"란 무엇인지, 그리고 'Litos' AI 코딩 에이전트가 어떻게 구성되어 있는지에 대한 내용입니다.
에이전트 루프 (agent loop)란 무엇인가?
모든 AI 코딩 에이전트의 핵심은 놀라울 정도로 단순합니다. "턴 (turn)"은 사용자가 메시지를 보낼 때 시작되며, 그 후 에이전트는 모델에게 응답을 요청하고, 모델이 요청하는 도구(파일 읽기, 코드 편집 또는 쉘 명령 실행 등)를 실행하고, 그 결과를 다시 모델에게 전달하며 반복합니다. 이 과정은 모델이 더 이상의 도구 호출 없이 평범한 답변을 내놓을 때까지 계속됩니다.
그게 전부입니다.
지금까지 일어난 일에 대한 계속해서 늘어나는 기록(컨텍스트 (context))과 함께 반복되는 이 루프가 모델로 하여금 코드를 읽고, 편집하고, 명령을 실행하며, 자신의 작업을 스스로 확인하게 해줍니다.
Litos의 구조
저는 Tau의 "뇌(brain), 환경(environment), 얼굴(face)" 분할 방식과 Mario Zechner의 pi에서 영감을 받아 프로젝트를 세 부분으로 나누었습니다:
- 뇌 (The brain) (
Litos.Agent) — 핵심 루프, 기록(transcript), 그리고 컨텍스트 관리(context management)를 담당합니다. Anthropic, OpenAI, 또는 Gemini와 대화하는지, 혹은 터미널에서 실행되는지 데스크톱 앱에서 실행되는지는 알지도 못하고 상관하지도 않습니다. - 환경 (The environment) (
Litos.Tools,Litos.Providers.*) — 실제 기능들입니다: 파일 편집, 쉘 액세스, 웹 검색, 그리고 사용자가 설정한 LLM 제공업체(provider)로의 호출을 담당합니다. - 얼굴 (The face) (
Litos.Gui,Litos.Api,Litos.Console) — 얇은 UI 계층입니다. Avalonia 데스크톱 앱, HTTP/API 호스트(작동하는 Telegram 브릿지 포함), 그리고 터미널 UI 모두 내부적으로는 정확히 동일한 루프를 구동합니다.
이러한 요소들을 분리해 둔 덕분에 논리적으로 파악하기가 훨씬 쉬워졌으며, 핵심 루프 (core loop)를 전혀 건드리지 않고도 새로운 프로바이더 (provider)나 새로운 UI를 추가할 수 있게 되었습니다.
작동 모습 확인하기
처음부터 끝까지 작동하는 모습을 보여주는 두 개의 짧은 영상을 준비했습니다:
코드
모든 코드는 오픈 소스입니다: github.com/nitinmms/LitosAiCodingAgent
아직은 매우 진행 중인 프로젝트입니다. 일부 구성 요소(콘솔 UI 및 몇몇 프로바이더 어댑터 등)는 미완성 상태이며, README에서도 이 점을 미리 밝히고 있습니다. 하지만 데스크톱 코딩 에이전트와 데스크톱/Telegram 환경은 현재 정상적으로 작동합니다.
관심이 있다면 개별 구성 요소(컨텍스트 관리 (context management), MCP 지원 등)에 대해 더 자세한 후속 포스트를 작성하겠습니다.
피드백은 언제나 환영합니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기