Engineering Systems for Data Analysis Using Interactive Structured Inductive Programming

本文介绍了 iProg 工具,它通过结合大语言模型与人类反馈的交互式结构化归纳编程方法,将科学数据分析任务分解为数据流图并生成代码,从而在开发速度、代码质量和系统性能上显著优于传统的低代码/无代码方案。

Shraddha Surana, Ashwin Srinivasan, Michael Bain

发布于 Tue, 10 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 iProg 的新工具,它就像是一位"超级翻译官”兼“建筑监理",专门帮助人类和人工智能(AI)一起快速搭建复杂的科学数据分析系统。

为了让你更容易理解,我们可以把开发一个科学软件系统比作建造一座精密的摩天大楼

1. 遇到的难题:盖楼太慢 vs. 乱盖太险

  • 传统方法(人工盖楼):就像请一群经验丰富的建筑师和工人,从画图纸到搬砖,一步步慢慢盖。虽然房子很结实、很安全,但太慢了,而且非常昂贵。
  • 现在的“无代码”AI 方法(让 AI 直接盖):就像你直接对 AI 说:“给我盖个大楼!”AI 可能会在几秒钟内吐出一堆砖块和水泥。但问题是,它盖出来的楼可能歪歪扭扭,甚至根本站不住(代码有错、逻辑不通),而且一旦你想改个窗户,整栋楼可能都要塌。

科学数据分析(比如分析星星怎么形成,或者蛋白质怎么工作)就像盖这种超高难度的摩天大楼,容不得半点马虎。

2. iProg 的解决方案:两步走的“智能监理”

iProg 发明了一种叫"交互式结构化归纳编程"的方法。它不急着让 AI 直接写代码,而是分两步走,就像盖楼前先画好蓝图,再按图施工。

第一步:画蓝图(结构化分解)

  • 场景:你告诉 AI:“我想分析蛋白质,看看哪些能杀菌。”
  • AI 的旧做法:直接开始写代码,容易写乱。
  • iProg 的做法:AI 先不写代码,而是画一张数据流图(DFD)
    • 比喻:这就好比 AI 先画了一张建筑蓝图。它把大任务拆成小房间:
      1. 下载数据(进货);
      2. 清洗数据(整理仓库);
      3. 训练模型(制造机器);
      4. 测试模型(验收产品)。
    • 人类的作用:人类工程师(监理)会检查这张蓝图。如果 AI 把“进货”和“制造”混在一起了,人类会说:“不对,得拆开!”(这叫 REFUTE/拒绝)。如果画得不错,人类就说:“通过!”(这叫 RATIFY/批准)。
    • 结果:在动手盖楼前,大家先确认了结构是对的。

第二步:按图施工(生成代码)

  • 场景:蓝图确认无误,现在要开始砌砖(写代码)了。
  • iProg 的做法:AI 针对蓝图里的每一个小房间(比如“清洗数据”这个环节)单独写代码。
  • 关键协议(2 向可理解性)
    • AI 写完一段代码,会附带一个“说明书”(解释这段代码是干嘛的,输入是什么,输出是什么)。
    • 人类工程师检查:“代码逻辑对吗?说明书写清楚了吗?”
    • 如果不对,人类说:“重写!”(REVISE/修改);如果完美,人类说:“通过!”(RATIFY/批准)。
    • 比喻:这就像每砌好一面墙,监理都要拿尺子量一下,确认合格了才让砌下一面墙。这样就不会出现“地基没打好就盖楼顶”的灾难。

3. 为什么这很厉害?(实验结果)

作者用两个真实的科学项目(一个是天体物理,分析星星;一个是生物化学,分析蛋白质)来测试 iProg。

  • 比“无代码”AI 强:那些直接让 AI 生成代码的方法,要么跑不起来,要么结果全是错的。iProg 因为先画了蓝图、加了监理,代码能跑通,而且结果更准
  • 比“纯人工”快:以前盖这种楼需要 2-3 个工程师忙几个月。用 iProg,1 个工程师几天就能搞定,而且质量还差不多,甚至更好(错误率更低)。
  • 代码质量高:iProg 生成的代码像乐高积木一样,模块清晰,改起来方便。而“无代码”生成的代码像一团乱麻,动一处坏全身。

4. 核心比喻总结

如果把开发软件比作做一道复杂的菜

  • 传统人工:厨师凭经验,一步步切菜、炒菜,慢但稳。
  • 普通 AI:你喊一声“做道佛跳墙”,AI 直接把所有食材倒进锅里乱炖,结果可能是一锅糊。
  • iProg
    1. 先列菜单(DFD):AI 先列出步骤:泡发、切配、高汤、炖煮。人类确认:“对,先泡发再切配。”
    2. 分步烹饪(InteractCode):AI 负责切配,做完给人类看:“切好了,大小均匀吗?”人类确认:“好,下一步。”
    3. 最终上菜:最后拼起来,就是一道完美的佛跳墙。

5. 一句话总结

iProg 不是让 AI 代替人类,而是给 AI 戴上了“安全帽”和“图纸”,让人类和 AI 像默契的搭档一样,既保留了人类的专业判断(监理),又利用了 AI 的极速生成能力(施工队),从而快速、安全地建造出高质量的科学软件系统。

这就解决了科学界的一个大痛点:既想要 AI 的速度,又不敢牺牲科学数据的准确性。