Grasshopper에 외부 AI 에이전트를 붙인 실험 프로젝트 'GrassLobster' 공개

Hacker News22일 전조회 3

Rhino와 Grasshopper의 파라메트릭 모델링 환경에 외부 AI 코딩 에이전트를 연결하는 실험 프로젝트 GrassLobster가 공개됐다. 만들고 싶은 형태를 자연어로 설명하면, 에이전트가 되물으며 요구사항을 정리하고 이를 편집 가능한 Grasshopper 워크플로로 구현한다. Miro Bannwart의 개인 프로젝트로, 현재 Prototype 1 단계이며 일반 사용을 위한 검증은 끝나지 않은 작업 중 버전이다.

동작 방식은 단순한 명령 실행이 아니다. 사용자가 건물 형태나 목재 구조, 요소 패턴을 설명하면 에이전트가 치수와 규칙, 재료, 제어하고 싶은 파라미터를 질문으로 좁혀간다. 작업 범위가 합의되면 연결된 Station들을 점진적으로 만들어낸다. 이후 스팬이나 간격, 요소 개수를 바꾸면 연관된 지오메트리가 다시 계산된다.

핵심 구조는 캔버스 위의 Geometry Station이다. GrassLobster의 세션 컴포넌트가 모델을 의미 있는 작업 단위인 Station들로 나누고, 각 Station이 해당 작업의 코드를 실행한다. 프로젝트는 입력, 주 지오메트리, 구조 로직, 2차 지오메트리, 출력 같은 흐름을 따라갈 수 있으며, 사용자는 개별 오퍼레이션을 전부 따라가지 않고도 순서와 의존 관계를 파악할 수 있다. 구현의 복잡성은 감추되 지오메트리 로직 자체는 감추지 않는다는 설계다.

Station 정의와 실행 코드는 사람이 읽을 수 있는 프로젝트 파일로 미러링된다. 에이전트는 이 파일에서 관련 로직을 찾아 연결된 Station을 이해하고, 필요한 부분만 표적으로 삼아 수정할 수 있다. 치수나 개수, 간격 같은 입력값도 함께 미러링되기 때문에 Station 코드를 다시 쓰지 않고도 값을 바꿔 지오메트리를 재계산할 수 있다.

이 구조가 나온 배경에는 Bannwart가 Grasshopper를 약 12년간 써오면서 품었던 파일과 직접 대화하고 싶다는 바람이 있다. Grasshopper는 이미 지오메트리를 시각적으로 이해하는 방법을 제공했지만, 에이전트에게는 읽고 고칠 수 있는 표현이 따로 필요했다. 그래서 캔버스의 기하학적 과정은 그대로 두고, 동일한 프로젝트를 파일 형태로 에이전트에게 노출하는 텍스트 미러링 방식이 선택됐다.

에이전트는 특정 모델에 묶여 있지 않고 교체 가능하게 설계됐다. 프로젝트 파일과 필요한 도구를 다룰 수 있는 코딩 에이전트라면 되며, OpenAI Codex와 Claude Code가 예시로 언급된다. 다만 사용하는 에이전트에 맞춰 프로젝트 연결을 설정해야 하고, 로컬 파일 도구 없이 동작하는 일반 채팅으로는 프로젝트를 갱신할 수 없다. 프로젝트 폴더에 대한 읽기·쓰기 권한이 필요하다.

모델 품질에 대한 관찰도 공개됐다. 개발 과정에서는 주로 GPT-6 Astra로 테스트했고 양호한 지오메트리 결과가 나왔다고 한다. GPT-5.6 Sol도 워크플로를 실행했지만 결과 지오메트리는 눈에 띄게 약했다. 로컬 모델 시도는 아직 성공하지 못했다. 다만 이는 특정 프로젝트에서의 개발 관찰이며 통제된 벤치마크가 아니라고 명시하고 있다.

설정 절차는 Rhino와 Grasshopper를 열고 GH 파일을 저장한 뒤 Agent Start 컴포넌트를 배치하는 것으로 시작한다. Generate Agent Start Prompt로 생성한 프롬프트를 데스크톱 에이전트의 대화에 붙여넣고, 에이전트가 프로젝트 경로를 확인하고 진입 파일을 읽도록 요청한다. 권장 구성은 로컬 Codex 데스크톱에 GPT-6 Astra와 High reasoning effort를 쓰는 것이며, 최근 테스트에서는 별도의 수동 MCP 설정이 필요 없었다고 보고됐다. 이는 보장이 아니라 경험이며, Rhino가 실제로 사용하는 폴더에서 작업해야 한다.

개발자 입장에서 눈여겨볼 지점은 자동화의 층위다. 이 프로젝트는 CAD 명령을 대신 실행하는 데서 그치지 않고, 지오메트리를 만들어내는 논리 자체를 사용자에게 남긴다. 결과물은 해당 작업에 맞춰진 작은 설계 도구처럼 동작하고, 모델은 Grasshopper 안에서 계속 보이고 조정 가능한 상태로 유지된다. 에이전트에게는 구현을 맡기되 설계 결정은 사람이 쥐는 구도다.

앞으로의 방향으로는 에이전트 기반 최적화가 제시된다. 측정 가능한 결과를 노출하는 모델이라면 에이전트가 입력을 바꿔가며 결과를 비교하고 목표에 수렴시킬 수 있다는 구상이다. 예를 들어 바닥 면적을 유지하면서 재료 부피를 줄이는 식이다. 다만 이는 가능한 방향일 뿐 내장된 범용 옵티마이저가 아니며, 모델과 사용 가능한 출력, 에이전트 도구에 의존한다. 구조적 목표에는 별도의 해석 방법이 필요하다.

한계는 분명히 밝혀져 있다. 실험적 프로토타입이며 일반 사용을 위한 검증이 이뤄지지 않았고, 있는 그대로 제공된다. 비용도 Rhino, 외부 에이전트, 이미지 도구를 각각 따로 책정해야 하며 긴 세션에는 더 높은 사용 한도가 필요할 수 있다. 참조 자료는 채팅이나 지정된 프로젝트 폴더에서 가져오지만, 자동으로 색인되는 지식 시스템이 아니라 프로젝트 맥락으로 취급된다.

관련 글