작성자: Boxu Li 

소개

Macaron AI의 가장 눈에 띄는 기능 중 하나는 맞춤형 미니 애플리케이션을 즉석에서 생성할 수 있다는 점입니다. 일반적인 대화 중 사용자가 가족 예산 추적, 축제 일정 계획, 새로운 언어 학습 등 필요를 설명하면 Macaron은 몇 분 만에 완전한 도구를 조립합니다. 이러한 미니 앱 중 일부는 100,000줄 이상의 코드를 초과하지만, 인간의 개입 없이 생성됩니다. 일본과 한국 사용자에게는 현지 풍습과 규정을 반영한 맞춤형 도구를 받을 수 있음을 의미합니다. 이 블로그에서는 Macaron의 미니 앱을 구동하는 자율 코드 합성 파이프라인을 해부하여 의도 이해, 프로그램 합성, 샌드박스 실행, 오류 처리안전 조치를 다룹니다. 시스템이 복잡성을 어떻게 관리하고, 외부 API와 통합하며, 지역 법을 준수하고, 강화 학습을 통해 출력을 개선하는지 살펴봅니다.

1 자연어에서 프로그램 명세로

1.1 의도 해석 및 슬롯 추출

사용자가 앱을 요청하면, Macaron은 먼저 자연어 입력을 분석하여 구조화된 의도 명세를 작성합니다. 이는 도메인(금융, 교육, 요리), 원하는 기능(예산 카테고리, 알림), 제약 조건(통화, 언어) 및 타임라인과 같은 슬롯을 식별하는 것을 포함합니다. 일본어와 한국어의 경우, 파서는 경어와 생략 부호를 처리합니다. 예를 들어, 일본어 요청 "家計簿を作りたいんだけど、食費を細かく分けて" (가계부를 만들고 싶은데, 식비를 자세히 나누고 싶어)에서는 도메인 "예산 관리," 기능 "상세한 식비 카테고리," 제약 조건 "일본 엔"이 도출됩니다. 한국어 요청 "가족 여행 일정을 계획해줘, 한식 식당 추천도"에서는 도메인 "여행 계획," 기능 "식당 추천," 문화적 제약 조건이 도출됩니다.

Macaron은 이중 인코더 구조를 사용합니다: 하나의 인코더는 현재 대화를 처리하고, 다른 하나는 사용자의 메모리를 처리합니다. 이 두 벡터는 주의를 통해 결합되어 통합된 의도 표현을 생성합니다. 강화 학습은 올바른 슬롯을 추출하도록 파서를 미세 조정합니다. 피드백은 생성된 미니 앱이 사용자 기대에 부합하는지 여부에서 얻어지며, 그렇지 않은 경우 파서의 매개변수가 업데이트됩니다.

1.2 도메인 라이브러리와 템플릿을 사용한 프로그램 합성

의도가 구조화되면, Macaron의 합성 엔진이 도메인 별 모듈 라이브러리에서 기능을 조합하여 코드를 생성합니다. 모듈에는 예산 기능(비용 계산, 차트 생성), 일정 기능(캘린더 통합, 충돌 해결), 언어 학습 알고리즘(간격 반복), 요리 지원(재료 변환, 영양 분석)이 포함됩니다. 엔진은 모듈을 선택하고 구성하여 일관된 프로그램으로 결합합니다. 템플릿은 모듈 간의 데이터 흐름을 정의하는 그래프 구조(DAG)를 포함하여 동시성과 비동기 작업을 허용합니다. 예를 들어, 일본 예산 앱은 월간 요약 및 주간 알림 작업을 병렬로 실행할 수 있습니다.

합성 엔진은 오픈 소스 코드와 독점 예제를 학습한 신경 프로그램 합성 모델을 사용합니다. 또한, "총 예산을 초과하지 말라"와 같은 제약은 선형 부등식으로 표현되어 제약 해결기에 입력되는 상징적 추론을 활용합니다. 이 하이브리드 접근 방식은 순수 신경 생성에 비해 신뢰성을 향상시킵니다. 강화 학습은 사용자 만족도와 오류 비율을 모니터링하여 모듈의 선택 및 순서를 조정합니다.

1.3 지역화된 요구사항 및 규제 제약

일본과 한국의 규제는 금융 및 개인 데이터 처리에 대한 특정 요구 사항을 부과합니다. 예를 들어, 일본의 개인정보 보호법은 가계부 데이터가 동의 없이 제3자에게 전송될 수 없다고 규정합니다. 한국의 개인정보 보호법은 데이터 익명화에 대한 엄격한 요구 사항을 가지고 있습니다. 예산 도구를 생성할 때, Macaron은 정책 바인딩 규칙을 참조하여 민감한 데이터가 로컬에 저장되고 외부 서버로 전송되지 않도록 합니다. 코드 생성기는 암호화 라이브러리를 호출하고 기본적으로 네트워크 접근을 비활성화합니다. 의료 앱의 경우, Macaron은 AI 프레임워크 법과 대조하여 의료 지도에 관련된 결정이 인간의 감독을 받도록 합니다.

2 안전한 실행 환경

2.1 샌드박싱 및 자원 제한

요구에 따라 생성된 임의 코드 실행은 상당한 보안 위험을 초래할 수 있습니다. 그래서 Macaron은 현대적인 코드 인터프리터를 연상시키는 샌드박스 환경에서 미니 앱을 실행합니다. 샌드박스는 파일 시스템 접근을 가상 디렉토리로 제한하고, CPU와 메모리 사용을 제한하며, 명시적으로 허가되지 않은 경우 네트워크 연결을 차단합니다. 프로그램은 읽기 전용 베이스 이미지를 가진 컨테이너 내에서 실행됩니다. 예를 들어, 한국 요리 앱이 영양 데이터를 가져오려 할 때, 요청은 허용된 도메인을 확인하는 프록시를 통해 라우팅됩니다. 프로그램이 허가 없이 외부 사이트에 접근하려고 하면, 샌드박스가 작업을 종료하고 사용자에게 오류 메시지를 반환합니다.

2.2 정적 분석과 타입 체크

실행 전에 Macaron은 무한 루프, 인젝션 공격, 비인가 시스템 호출과 같은 취약점을 감지하기 위해 합성된 코드에 대해 정적 분석을 수행합니다. 타입 체커는 모듈이 올바르게 구성되었는지 확인합니다: 숫자를 반환하는 함수는 텍스트 처리 모듈에 연결될 수 없습니다. 이 체커는 또한 로컬 데이터 타입 준수를 확인합니다. 예를 들어, 통화 값은 부동 소수점 오류를 방지하기 위해 소수 타입을 사용하여 표현됩니다. 정적 분석에 실패하면, Macaron은 요청된 기능을 간소화하거나 앱을 더 작은 모듈로 나누는 것을 제안합니다.

2.3 런타임 모니터링 및 자동 복구

실행 중에 Macaron은 성능 메트릭(예: CPU 사용량, 메모리 사용량), 기능적 정확성(테스트 케이스, 어설션) 및 사용자 상호작용(클릭, 소요 시간)을 모니터링합니다. 프로그램이 예상되는 동작에서 벗어날 경우—예를 들어 시간 제한을 초과하거나 예외를 발생시키는 경우—Macaron의 자동 복구 모듈이 개입합니다. 이는 마지막 안정 상태로 롤백하거나, 즉석에서 생성된 패치를 적용하거나, 기능을 우아하게 저하할 수 있습니다. 예를 들어, 일본식 정원 앱의 날씨 API가 실패할 경우, 프로그램은 백업 데이터 소스로 전환하거나 사용자에게 일시적인 장애에 대해 알릴 수 있습니다.

3 강화 학습 및 지속적인 개선

3.1 사용자 피드백과 작업 성공에서 얻는 보상 신호

모든 미니 앱 세션은 풍부한 피드백을 제공합니다. 사용자는 앱을 계속 사용함으로써 암묵적으로 만족을 신호하거나 경험을 명시적으로 평가할 수 있습니다. Macaron은 이러한 신호를 보상 함수로 집계하여 향후 코드 생성에 도움을 줍니다. 보상은 버그, 혼란스러운 인터페이스, 느린 성능을 벌하고 신뢰성, 문화적 적합성 및 새로움을 보상합니다. 시간이 지나면서, 합성 엔진은 일본 사용자가 미니멀리즘과 사용 용이성을 중요시하는 반면, 한국 사용자는 커스터마이징 옵션과 화려한 비주얼을 선호할 수 있음을 학습합니다. 이러한 선호는 모듈과 사용자 인터페이스 패턴을 선택하는 강화 학습 정책에 인코딩됩니다.

3.2 커리큘럼 학습 및 메타 학습

사용자 요청의 증가하는 복잡성을 처리하기 위해, Macaron은 커리큘럼 학습을 활용합니다: 합성 엔진은 계산기나 할 일 목록과 같은 간단한 프로그램을 생성하는 것부터 시작하여 점차 더 복잡한 작업(예: 다중 사용자 예산 플랫폼)을 처리합니다. 시스템이 새로운 도메인을 접할 때, 메타 학습을 사용하여 적응 속도를 높입니다. 엔진이 일본과 한국 사용자로부터 학교 행사 계획이나 노인 돌봄 관리와 같은 유사한 요청을 받으면, 다양한 작업에 걸쳐 일반화할 수 있습니다. 메타 학습은 또한 법률이나 문화의 변화에 적응하는 데 도움을 줍니다; 만약 AI 촉진법이 새로운 준수 요구 사항을 도입하면, Macaron은 이를 코드 템플릿에 신속히 통합합니다.

3.3 커뮤니티 기여 및 모듈 마켓플레이스

Macaron은 커뮤니티 참여를 장려합니다. 개발자는 마켓플레이스에 새로운 모듈을 기여할 수 있습니다. 모듈은 포함되기 전에 보안 및 준수 여부가 검증됩니다. 이는 지역 생태계를 육성합니다: 일본 개발자는 다도 일정 관리나 애니메이션 추천 모듈을 만들 수 있고, 한국 개발자는 K-팝 안무 학습이나 가족 행사 관리 모듈을 기여할 수 있습니다. 기여자는 아몬드(Macaron의 앱 내 화폐)로 보상받아 플랫폼의 지속적인 개선을 장려합니다.

4 외부 API 및 서비스와의 통합

4.1 데이터 소스의 현지화

일본과 한국 사용자들은 다른 데이터 제공업체에 의존합니다. Macaron은 금융 앱을 위해 일본의 J‑Debit 등을 통한 일본 은행 API, 공휴일용 일본 캘린더(골든 위크, 오봉), 이벤트 계획을 위한 지역 뉴스 소스와 통합됩니다. 한국에서는 KOSPI 주식 API, 네이버 날씨 서비스, 카카오톡 메시징 API에 연결됩니다. 각 통합은 속도 제한, 캐싱 및 오류 처리를 강화하는 모듈로 감싸져 있습니다. 코드 생성기는 관련된 경우 자동으로 이러한 모듈을 삽입합니다.

4.2 API 구성에 대한 자연어 인터페이스

사용자가 API 키를 수동으로 입력할 필요 없이, Macaron이 대화를 통해 안내합니다. 일본 사용자가 은행에서 거래 내역을 가져오고자 할 때, 에이전트는 동의 절차를 설명하고 필요한 토큰을 얻어 안전하게 저장합니다. 마찬가지로, 한국 사용자가 자녀의 학교 일정을 연결하고자 하면, 에이전트는 OAuth를 사용해 접근을 승인하고 앱이 필요한 데이터만 읽도록 보장합니다. 이러한 상호작용은 기록되어 검토 가능하며, 차별화된 투명성 원칙과 일치합니다.

4.3 엣지 컴퓨팅 및 오프라인 지원

일본과 한국의 여러 지역에서는 간헐적인 연결 상태에서도 신뢰성을 기대합니다. 마카롱의 미니앱은 엣지 컴퓨팅을 지원하여 가능한 경우 로컬에서 연산을 수행합니다. 이 에이전트는 데이터 캐시 및 네트워크가 사용 가능할 때 서버와 동기화되는 프로그레시브 웹 앱(PWA)을 생성할 수 있습니다. 예를 들어, 산길 계획자를 사용하는 한국의 하이커는 오프라인 상태에서도 경로 추적을 계속하고 하산 후 클라우드와 동기화할 수 있습니다. 오프라인 기능은 특히 개인 정보 보호에 중요하며, 민감한 데이터는 사용자가 공유를 선택할 때까지 장치에 남아 있습니다.

5 안전, 준수 및 문화적 민감성

5.1 코드 생성에서의 규제 준수

미니앱은 현지 규정을 준수해야 합니다. 일본의 AI 촉진법은 투명성을 강조하므로, 예산 관리 앱은 데이터 흐름을 명확히 기록하고 지출이 어떻게 분류되는지를 사용자에게 설명합니다. 한국의 AI 규제는 고위험 결정에 대해 사람의 감독을 요구하므로, 건강 관련 앱은 사용자가 조언을 실행하기 전에 전문가와 상담하도록 유도합니다. 마카롱의 코드 생성기는 민감한 작업에 대해 경고를 삽입하고 명시적 동의를 얻습니다. 사용자가 세금 신고 앱을 생성하려고 하면, 마카롱은 현지 세법 업데이트를 상기시키고 공인 회계사와 상담할 것을 제안합니다.

5.2 문화적 규범 및 UI 현지화

문화적 미학은 사용자 인터페이스 디자인에 영향을 미칩니다. 일본에서는 미니멀리즘과 여백에 대한 존중이 중요합니다. 따라서 마카롱은 일본 사용자들을 위해 은은한 색깔과 간단한 아이콘을 사용합니다. 한국의 인터페이스는 더 생동감 있을 수 있으며 애니메이션을 포함할 수 있습니다. 마카롱의 UI 모듈은 사용자 선호도에 따라 이러한 스타일을 자동으로 조정합니다. 에이전트는 또한 문화적 규범에 맞춰 도움말 메시지를 맞춤화합니다. 일본의 도움말 화면에는 상황 설명이 포함될 수 있는 반면, 한국의 도움말 화면은 단계별 지침을 강조할 수 있습니다.

5.3 재난 회복력 및 윤리적 고려 사항

일본과 한국은 지진과 태풍 같은 자연 재해에 취약합니다. 개인 에이전트가 비상 대응 앱을 생성할 때는 신뢰할 수 있어야 합니다. 마카롱은 정부 경고 시스템과 통합되고 비상 지침을 최신 상태로 유지하는 재난 회복력 모듈을 포함합니다. 윤리적으로 시스템은 금융 도구에서 "다크 패턴"과 같은 조작적 디자인을 피하고 공정성 지침을 준수합니다. 예를 들어, 레스토랑을 추천할 때 에이전트는 식이 제한을 고려하고 사용자가 선호를 표현하지 않는 한 특정 지역이나 체인에 대한 편견을 피합니다.

5.4 사례 연구: 하나미 플래너와 K‑팝 팬 매니저

두 가지 사례 연구는 Macaron의 코드 합성의 힘과 미묘함을 강조합니다. Hanami Planner는 일본 가족들이 벚꽃 구경을 경험하고 싶어 요청한 계절 앱입니다. 사용자가 요청합니다: 「桜の見頃と混雑を避けるプランを作って」 (벚꽃이 만개할 때 군중을 피할 수 있는 계획을 세워줘). Macaron은 일본 기상청 API에서 날씨와 개화 예보를 가져오고, 역사 데이터를 교차 참조하여 근처 공원의 만개 날짜를 예측합니다. 그런 다음 여러 모듈의 앱을 합성합니다: 날짜를 차단하는 캘린더 스케줄러; 교통과 대중교통을 고려한 경로 계획자; 피크닉 용품을 위한 예산 추적기 (가계부 카테고리를 포함); 쓰레기 처리 및 공원 규칙에 대해 사용자에게 알리는 문화 예절 가이드. 강화 학습은 제안을 개인화합니다: 가족에 노인이 있다면 에이전트는 접근 가능한 길이 있는 공원을 우선시합니다; 아이들이 있다면 가족 친화적인 명소를 추천합니다. 앱은 또한 친구들이 한국어나 영어만 할 수 있는 경우를 위해 이중 언어 초대장을 생성하여 Macaron의 교차 언어 능력을 보여줍니다.

K-pop 팬 매니저 사례는 여러 음악 그룹을 팔로우하는 한국 사용자를 목표로 합니다. 사용자는 "다음 커백 스케줄과 팬미팅 일정 관리 앱을 만들어줘"라고 말할 수 있습니다. 에이전트는 엔터테인먼트 회사 API에서 출시 일정을 가져오고, 차트 알고리즘에 기반하여 스트리밍 목표를 계산하며, 카운트다운 위젯을 표시합니다. 모듈에는 티켓 구매 도우미(재판매에 대한 현지 법률 확인), 포토카드를 모으기 위한 디지털 스크랩북, 팬 프로젝트를 조율하기 위한 소셜 모듈이 포함되어 있습니다. 사용자가 알림에 과부하되지 않도록 RL 보상 모델이 긴급성(예: 팬미팅 티켓 마감일)과 인지 부하를 균형 있게 조절합니다. 팬들이 일본 친구들과 조율할 때 교차 언어 기능이 작동합니다: 앱은 일정과 메시지를 자동으로 일본어와 영어로 번역하며, 메모리 태그를 통해 언어 간의 맥락이 유지됩니다. 이러한 사례 연구는 지역 문화, 규제 인식 및 기술적 세련미를 맞춤형 도구에 접목하는 Macaron의 능력을 보여줍니다.

5.5 기술적 도전: 동시성, 버전 관리 및 디버깅

대규모 프로그램을 즉석에서 생성하는 것은 엔지니어링 과제를 도입합니다. 미니 앱이 UI를 업데이트하면서 데이터를 가져오는 등 여러 작업을 동시에 수행해야 할 때 동시성이 발생합니다. Macaron의 코드 생성기는 의존성 관계를 정의하는 **유향 비순환 그래프 (DAG)**를 구축하고 비동기 프로그래밍 구조(예: JavaScript의 promises 또는 Python의 asyncio)를 사용하여 작업 차단을 피합니다. Macaron의 모듈 라이브러리가 끊임없이 발전하기 때문에 버전 관리가 중요해집니다. 생성된 앱은 모듈 버전을 기록한 매니페스트 파일을 포함하며, 업데이트가 있을 경우 Macaron은 버전을 비교하여 사용자에게 업그레이드할지 안정된 기존 버전을 유지할지를 안내합니다. 디버깅은 아마도 가장 도전적인 과제일 것입니다. 자동 생성된 코드에는 미묘한 버그나 극단적인 경우가 포함될 수 있습니다. Macaron은 프로그램 불변성을 테스트하기 위해 무작위 입력을 생성하는 속성 기반 테스트와 실행 경로를 탐색하기 위한 상징적 실행을 통해 이를 해결합니다. 야생에서 버그가 발생하면 에이전트는 익명화된 오류 흔적을 수집하고 프로그램 수리 기술을 적용하여 수정을 향후 합성에 통합합니다. 이러한 엔지니어링 관행은 코드 없는 프로그래밍의 약속이 신뢰할 수 있고 유지 관리 가능한 미니 앱으로 번역되도록 보장합니다.

Boxu는 에모리 대학교에서 정량 경제학 학사 학위를 받았습니다. Macaron에 합류하기 전, Boxu는 미국에서 사모펀드 및 벤처 캐피탈 분야에서 대부분의 경력을 쌓았습니다. 현재 그는 Macaron AI의 비서실장 겸 마케팅 부사장으로, 재무, 물류 및 운영을 관리하고 마케팅을 총괄하고 있습니다.

지원하기 Macaron 의 첫 친구들