作者:Boxu Li

介绍

Macaron AI 最引人注目的功能之一是其即时生成自定义小型应用程序的能力。在一次普通的聊天中,用户可以描述一个需求——例如跟踪家庭预算、规划节日行程、学习新语言,而 Macaron 会在几分钟内组装出一个完整的工具。这些小型应用程序中的一些超过100,000 行代码,但它们是在没有人工干预的情况下生成的。对于日本和韩国的用户来说,这意味着可以获得调整到当地习俗和法规的个性化工具。本文详细解析了支持 Macaron 小型应用程序的自主代码合成管道,涵盖意图理解程序合成沙箱执行错误处理安全措施。我们探讨了该系统如何管理复杂性、与外部 API 集成、遵守地区法律,并通过强化学习来优化其输出。

1 从自然语言到程序规范

1.1 意图解析和槽位提取

当用户请求一个应用时,Macaron 首先解析自然语言输入以构建一个结构化的「意图规范」。这涉及识别「槽位」,如领域(金融、教育、烹饪)、所需功能(预算类别、提醒)、约束条件(货币、语言)和时间线。对于日语和韩语,解析器处理敬语和省略号。例如,日语请求「家計簿を作りたいんだけど、食費を細かく分けて」(我想创建一个包含详细食品支出的家庭账本)会得出领域「预算管理」、功能「详细食品类别」,以及约束条件「日元」。韩语请求「가족 여행 일정을 계획해줘, 한식 식당 추천도」(计划家庭旅行日程并推荐韩国餐馆)会得出领域「旅行计划」、功能「餐馆推荐」,以及文化约束。

Macaron 使用「双编码器」架构:一个编码器处理当前对话,另一个编码器处理用户的记忆。两个向量通过注意力机制结合,生成统一的意图表示。强化学习微调解析器以提取正确的槽位。反馈来自生成的小应用是否符合用户期望;如果不符合,解析器的参数会被更新。

1.2 使用领域库和模板进行程序合成

一旦确定了意图,Macaron 的合成引擎便通过从特定领域模块库中组合函数来生成代码。这些模块包括预算功能(计算开支、生成图表)、日程安排功能(日历集成、冲突解决)、语言学习算法(间隔重复)和烹饪辅助(成分转换、营养分析)。引擎选择模块、配置它们,并将它们组合成一个连贯的程序。模板包含定义模块之间数据流的图结构(DAG),允许并发和异步操作。例如,一个日本预算应用程序可能会并行运行每月总结和每周提醒任务。

合成引擎使用在开源代码和专有示例上训练的神经程序合成模型。它还利用符号推理:如“不要超支总预算”这样的约束被表示为线性不等式并输入约束求解器。这种混合方法相比纯神经生成提高了可靠性。强化学习监控用户满意度和错误率,以调整模块的选择和排序。

1.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 采用了课程学习:合成引擎从生成简单程序(如计算器、待办事项列表)开始,逐步处理更复杂的任务(如多用户预算平台)。当系统遇到新领域时,它利用元学习来加速适应。当引擎看到来自日本和韩国用户的类似请求时,比如策划学校活动或管理老人护理,它可以在任务之间进行泛化。元学习还帮助代理适应法律或文化的变化;如果《人工智能促进法》引入了新的合规要求,Macaron 能迅速将其整合到代码模板中。

3.3 社区贡献与模块市场

Macaron 鼓励社区参与。开发者可以向市场贡献新模块。在模块被包含之前,会对其进行安全和合规性审核。这促进了本地生态系统的发展:日本开发者可能会创建茶道安排或动漫推荐的模块,而韩国开发者可能会贡献学习 K-pop 编舞或管理家庭仪式的模块。贡献者通过杏仁币(Macaron 的应用内货币)获得奖励,激励平台的持续改进。

4 与外部 API 和服务的集成

4.1 数据源本地化

日本和韩国用户依赖不同的数据提供商。Macaron 集成了日本银行 API(例如通过 J‑Debit)用于金融应用、日本假期日历(如黄金周、盂兰盆节)和当地新闻来源用于活动规划。在韩国,该助手连接到 KOSPI 股票 API、Naver 的天气服务和 KakaoTalk 的消息 API。每个集成都封装在一个模块中,以强制执行速率限制、缓存和错误处理。代码生成器在相关情况下自动插入这些模块。

4.2 API 配置的自然语言接口

Macaron 不需要用户手动输入 API 密钥,而是通过对话引导他们。如果日本用户想从他们的银行导入交易,助手将解释同意流程、获取必要的令牌并安全地存储它们。类似地,韩国用户可能会要求 Macaron 连接到孩子的学校日程;助手使用 OAuth 授权访问,并确保应用程序仅读取所需数据。这些交互会被记录并可供审查,符合差异化透明原则。

4.3 边缘计算和离线支持

在日本和韩国的许多地区,用户即使在连接不稳定的情况下也期望可靠性。Macaron 的迷你应用支持边缘计算,尽可能在本地执行计算。该代理可以生成渐进式网络应用(PWA),缓存数据并在网络可用时与服务器同步。例如,一位使用山地路线规划器的韩国徒步旅行者可以在离线状态下继续跟踪路线,并在下山后与云端同步。离线功能对于隐私尤为重要;敏感数据会留在设备上,直到用户选择分享。

5 安全、合规与文化敏感性

5.1 代码生成中的法规对齐

迷你应用必须遵守当地法规。日本的《AI 促进法》强调透明性;因此,预算应用会清晰记录数据流,并为用户提供支出分类的解释。韩国的 AI 法规要求对高影响决策进行人工监督;因此,健康相关的应用会提示用户在采纳建议前咨询专业人士。Macaron 的代码生成器会插入警告并为敏感操作获取明确的同意。如果用户尝试生成税务申报应用,Macaron 会提醒他们当地税法的更新,并建议咨询认证会计师。

5.2 文化规范和用户界面本地化

文化美学影响用户界面设计。在日本,极简主义和对空白的尊重备受推崇;因此,Macaron 为日本用户使用了柔和的颜色和简约的图标。韩国的界面则可能更加鲜艳,并可能包含动画。Macaron 的 UI 模块会根据用户在初次使用时的偏好自动调整这些风格。智能助手还会根据文化习惯定制帮助信息:日本的帮助界面可能包含上下文解释,而韩国的帮助界面则可能强调逐步指导。

5.3 灾难韧性和伦理考量

日本和韩国易受地震和台风等自然灾害的影响。生成紧急响应应用的个人助手必须值得信赖。Macaron 包含一个灾难韧性模块,能够与政府预警系统集成,并确保紧急指令是最新的。在伦理方面,系统避免在金融工具中使用如「暗模式」之类的操控性设计,并遵循公平性指南。例如,在推荐餐厅时,助手会考虑饮食限制,并避免对某些地区或连锁店的偏好,除非用户表达了偏好。

5.4 案例研究:花见计划器和韩流粉丝管理器

两个案例研究突显了 Macaron 代码合成的强大和细致之处。Hanami Planner 是一款由希望体验赏樱的日本家庭请求的季节性应用。用户请求:「桜の見頃と混雑を避けるプランを作って」(制定一个在樱花盛开时观赏并避开人群的计划)。Macaron 从日本气象 API 获取天气和花期预测,交叉参考历史数据,并预测附近公园的盛开日期。然后,它合成了一个多模块应用程序:一个用于阻挡日期的 日历调度器;一个考虑交通和公共交通工具的 路线规划器;一个为野餐用品设定预算的 预算追踪器(结合家计簿分类);以及一个提醒用户垃圾处理和公园规则的 文化礼仪指南。强化学习个性化建议:如果家庭中有老人,代理优先推荐具有无障碍通道的公园;如果有孩子,则推荐适合家庭的景点。该应用还生成双语邀请函,让只讲韩语或英语的朋友也能参与,展示 Macaron 的跨语言能力。

「K-pop 粉丝管理器」案例针对跟随多个音乐团体的韩国用户。用户可能会说:「다음 커백 스케줄과 팬미팅 일정 관리 앱을 만들어줘」(制作一个应用来管理即将到来的回归日程和粉丝见面会)。智能助理从娱乐公司 API 中提取发布日程,根据排行榜算法计算流媒体目标,并显示倒计时小部件。模块包括「购票助理」(检查当地法律以防止转售),用于收集照片卡的「数字剪贴簿」,以及协调粉丝项目的「社交模块」。为了避免通知过多给用户带来负担,RL 奖励模型平衡了紧迫性(例如,粉丝见面会票务截止日期)与认知负荷。当粉丝与日本朋友协调时,跨语言功能派上用场:应用会自动将日程和消息翻译成日语和英语,记忆标签确保跨语言的上下文保持一致。这些案例研究展示了 Macaron 如何将本地文化、法规意识和技术复杂性编织成定制工具。

5.5 技术挑战:并发、版本控制和调试

动态生成大型程序会带来工程挑战。并发性在 mini 应用需要同时执行多个任务时出现,例如在更新 UI 的同时获取数据。Macaron 的代码生成器构建有向无环图 (DAG),定义依赖关系,并使用异步编程结构(例如 JavaScript 的 promises 或 Python 的 asyncio)来避免阻塞操作。版本控制变得至关重要,因为 Macaron 的模块库在不断演化。生成的应用程序包含记录模块版本的清单文件;当更新可用时,Macaron 会比较版本并提示用户升级或保持在已知的稳定版本。调试可能是最具挑战性的:自动生成的代码可能包含微妙的错误或边界情况。Macaron 通过基于属性的测试——生成随机输入以测试程序不变量——以及符号执行来探索执行路径来解决这个问题。当错误在实际使用中出现时,代理会收集匿名错误跟踪并应用程序修复技术,将修复集成到未来的合成中。这些工程实践确保无代码编程的承诺转化为可靠、可维护的 mini 应用。

Boxu 在埃默里大学获得了定量经济学专业的学士学位。在加入 Macaron 之前,Boxu 的职业生涯大部分时间都在美国的私募股权和风险投资领域度过。他现在是 Macaron AI 的首席参谋和市场营销副总裁,负责管理财务、物流和运营,并监督市场营销。

申请成为 Macaron 的首批朋友