新闻动态

听见我们的声音

过去数十年,集成开发环境一直以“人写代码”为中心。开发者负责理解需求、设计程序和完成实现,IDE 则提供代码补全、跳转、调试和测试等工具,帮助人更高效地完成编码。

代码智能体正在改变这种分工,并带来了软件生产方式的一次结构性变化:随着 Agent 能够独立完成复杂编码任务,软件开发正进入由智能体大规模生成代码的新阶段,开发者的角色开始从“亲自完成实现”,转向“提出目标、理解结果和作出决策”

问题也随之出现。智能体可以在短时间内生成大量代码,但人类理解代码的速度并不会同步提高。如果开发者仍然只能依靠传统的红绿行级 Diff,逐行辨认新增和删除内容,结果可能是,代码生成得越快,等待审查的内容越多,开发者审查效率及可靠性反而成为新的瓶颈

目前市场上的主流 AI 编程工具已经注意到这一问题。OpenAI Codex、Cursor、Claude Code 和 GitHub Copilot 等产品普遍提供修改记录、行级 Diff、任务日志、PR 审查或自动代码检查。然而在现有 AI 编程流程中,智能体和 IDE 通常彼此独立,开发者在智能体中提出需求、跟进任务,再到 IDE 中阅读和审查代码,不仅要在两个软件之间反复切换,在 IDE 中形成的理解和判断也无法及时进入智能体的任务上下文。

IDEA 研究院 MoonBit 团队推出 SeekMoon,把“帮助人高效读懂 Agent 代码”设定为整个产品的核心,将智能体任务、代码阅读和变更审查放进同一个工作区,让开发者可以一边让智能体执行任务,一边理解和审查它生成的代码,并根据当前发现直接提出下一步要求,使“智能体执行”与“开发者理解”形成连续的人机协作闭环,缩短了从代码生成、审查判断到反馈修正的路径,让智能体的代码生产能力更高效、可靠地转化为真实的软件工程生产力

团队也尝试重新设计人机协作分工与环境:开发者给出目标,Agent 负责具体实现,开发环境把 Agent 的工作结果转化为更容易理解和审查的形式,帮助开发者随时掌握变化、判断影响并提出下一步要求。MoonBit 团队将这种围绕智能体任务、代码理解和人类决策建立的新型环境称为 ADE,即智能体开发环境。

如果说传统 IDE 的核心,是把编辑、补全、调试和搜索等工具集中在开发者手边,帮助人更高效地亲自编写代码,那么 ADE 的核心,是把任务委派、智能体执行、代码理解、变更审查和反馈迭代组织成一个高效完整的人机开发协作闭环。前者提升的是人的编码效率,后者要释放的,是以人为最终决策者的人机协作生产力

 

SeekMoon 亮点一览

 

面向智能体协作的工作区

SeekMoon 的工作区围绕一项持续推进的开发任务展开:开发者给出目标后,智能体分析代码、制定计划、修改文件并运行验证,过程和结果都保留在任务上下文中。开发者可以在任务旁浏览项目、检索和阅读文件,也可以随时打开 Diff Review 检查变更,判断修改是否符合预期,并据此向智能体提出新的要求。


图:SeekMoon 将智能体任务与代码审查放在同一个工作区中

在这种分工下,开发环境的首要任务应该是帮助开发者读懂智能体生成的代码。围绕代码理解与审查,SeekMoon 提供了三类能力:

1. 用词法 Diff 和语法树 Diff 理解变更。 在常见的行级 Diff 基础上,SeekMoon 进一步提供词法 Diff 和语法树 Diff,并在审查界面中保留定义跳转、引用查找等 IDE 阅读能力。

2. 用代码可视化把握整体结构。 注释文档和架构图可以直接呈现在代码旁,配合自动折叠,让开发者先看结构、再读实现。

3. 用语法树搜索圈定修改范围。 除字符级文本搜索外,SeekMoon 还提供面向 MoonBit 的语法树搜索,检索结果可以直接加入智能体上下文。

词法与语法树 Diff:
更清楚地理解代码变化

为帮助开发者看清代码究竟发生了什么变化,SeekMoon 面向 MoonBit 提供词法 Diff 和语法树 Diff。词法 Diff 弱化换行、缩进等格式调整,突出实际修改;语法树 Diff 则根据代码结构呈现函数提取、变量重命名等重构关系。相比仅按文本行展示增删的行级 Diff,这两种模式能让开发者更直接地理解变更。

以 SeekMoon 实际开发中的一次修改为例:在为 @process.collect_stdout(“hostname”, []) 增加新的参数 no_console_window=true 后,格式化将一行代码展开为五行。行级 Diff 因而显示为一行删除、五行新增,而词法 Diff 则跨行匹配原有代码,只突出新增参数和必要的逗号,让实际变化一目了然。


图:同一处修改在行级 Diff(上)与词法 Diff(下)中的对比

词法 Diff 适合看清局部修改;遇到函数提取、变量重命名或分支重排等结构性变化,还要进一步理解代码如何被重组。语法树 Diff 根据 MoonBit 的语法结构呈现差异,更适合阅读这类重构。

以 moonbitlang/core 项目中的一次 HashSet 重构为例:将集合构造提取为 make_int_set,把局部变量从 map 改为 set,并调整了断言形式。在行级 Diff 中,这些变化会一起表现为大段删除与新增,开发者需要自行判断它们之间的关系。

切换到语法树 Diff 后,差异会按照 MoonBit 的语法结构呈现,函数提取和相关调整更容易分辨。开发者可以更清楚地理解代码如何被重组,再核对重构前后的行为是否一致。


图:同一次 HashSet 重构在行级 Diff(上)与语法树 Diff(下)中的对比

看清差异之后,开发者还要判断修改是否正确、会影响哪些代码。SeekMoon 在 Diff Review 中完整保留了悬浮信息、定义跳转和引用查找等 IDE 能力。下图中,开发者可以在审查时直接打开引用列表,并在 Diff 旁预览相关代码,不必切换到其他界面查找信息。


图:在 Diff Review 中查找引用并预览相关代码

代码可视化:
让智能体把结构画出来

理解代码结构时,图表往往比连续文字更直观。但在传统开发中,绘图和维护都需要额外投入;代码一旦变化,图表又很容易与实现脱节,因此很难长期作为可靠的代码说明。

智能体可以在同一轮任务中生成实现并同步更新注释。结构说明与代码来自同一上下文,更容易随实现同步更新。除了文字说明,智能体还可以在注释中使用 Mermaid 等绘图语言生成流程图和架构图。

不过,阅读 Mermaid 或 D2 源码并不直观。如果开发环境只显示原始文本,开发者仍要离开代码另行预览。SeekMoon 会直接渲染 MoonBit 注释文档,将其中的图表呈现在相关代码旁,同时保留查看原始注释的入口。智能体将架构图写入注释后,开发者阅读代码时便可在旁查看。

普通 MoonBit 源文件第一次打开时,SeekMoon 还会自动折叠顶层实现,优先呈现声明、文档和整体轮廓。开发者可以先通过接口和图表了解代码结构,再按需展开需要核验的实现。


图:MoonBit 源文件内联渲染注释文档和架构图,并自动折叠顶层实现

从字符到语法树:
把检索结果交给智能体

在常见的字符级文本搜索之外,SeekMoon 还提供面向 MoonBit 的语法树搜索。开发者可以查找结构相同、具体写法不同的代码。

以测试代码重构为例,moonbitlang/core 项目中的一些测试通过比较结果是否与 true 相同来判断条件是否成立。要找到这些代码,开发者可以运行下面的语法树搜索模式:

@test.assert_eq($(actual:arg), true)

其中 $(actual:arg) 是一个占位符,可以匹配不同的参数表达式。这次搜索共找到 43 处结构相同的调用,结果列表同时显示了每处调用及其上下文。


图:语法树搜索在 core 中找到 43 处匹配,分布于 9 个文件

随后,开发者可以检查搜索结果,排除仍需保留的测试,确定需要修改的范围,再把其余命中连同修改要求交给智能体,统一改用 assert_true。智能体完成修改后,开发者可以在 Diff Review 中检查这些变更。

走向 ADE

随着智能体承担更多实现工作,开发者也需要把更多精力放在审查上。代码能够生成出来,并不意味着它已经可以进入项目。开发者仍要判断变更是否符合预期,再决定接受还是继续修改。

SeekMoon 正是围绕这些工作设计的。Diff Review 用来分辨变化,代码可视化呈现整体结构,语法树搜索则用于确定修改范围。开发者可以据此检查结果、圈定问题,再把新的要求准确交回智能体。

智能体如何执行任务,SeekMoon 也有自己的答案:让智能体生成 MoonBit 程序,将程序及其依赖编译为 WebAssembly,并在细粒度策略约束下运行,减少对任意 Shell 命令的依赖。相关设计与实践可参阅《当智能体不再编写 Shell:语言即沙箱》。

AI 编程的价值链正在从基础模型,进一步延伸至智能体运行环境、开发工具和人机协作入口。让智能体写出代码只是起点。只有当开发者能够清楚地理解这些代码,智能体才能真正成为可靠的软件开发伙伴。

未来,开发者选择一款 AI 编程产品,比较的可能不只是模型性能,还包括任务能否稳定执行、代码是否便于审查、权限是否可控,以及产品能否融入真实的软件工程流程。谁能占据这一工作入口,谁就更有机会沉淀开发者、工具插件和项目上下文,形成持续使用的生态基础。

SeekMoon 已经开源。欢迎扫码访问或进入 moonbitlang/openseek 查看代码、构建并试用,也欢迎加入这场探索,共同推动开发环境从 IDE 走向 ADE。

释放人机协作生产力,以智能体为中心的开发环境,IDEA 研究院 MoonBit 发布 SeekMoon

日期:2026-09-02
  • 分享:
释放以人为最终决策者的人机协作生产力

过去数十年,集成开发环境一直以“人写代码”为中心。开发者负责理解需求、设计程序和完成实现,IDE 则提供代码补全、跳转、调试和测试等工具,帮助人更高效地完成编码。

代码智能体正在改变这种分工,并带来了软件生产方式的一次结构性变化:随着 Agent 能够独立完成复杂编码任务,软件开发正进入由智能体大规模生成代码的新阶段,开发者的角色开始从“亲自完成实现”,转向“提出目标、理解结果和作出决策”

问题也随之出现。智能体可以在短时间内生成大量代码,但人类理解代码的速度并不会同步提高。如果开发者仍然只能依靠传统的红绿行级 Diff,逐行辨认新增和删除内容,结果可能是,代码生成得越快,等待审查的内容越多,开发者审查效率及可靠性反而成为新的瓶颈

目前市场上的主流 AI 编程工具已经注意到这一问题。OpenAI Codex、Cursor、Claude Code 和 GitHub Copilot 等产品普遍提供修改记录、行级 Diff、任务日志、PR 审查或自动代码检查。然而在现有 AI 编程流程中,智能体和 IDE 通常彼此独立,开发者在智能体中提出需求、跟进任务,再到 IDE 中阅读和审查代码,不仅要在两个软件之间反复切换,在 IDE 中形成的理解和判断也无法及时进入智能体的任务上下文。

IDEA 研究院 MoonBit 团队推出 SeekMoon,把“帮助人高效读懂 Agent 代码”设定为整个产品的核心,将智能体任务、代码阅读和变更审查放进同一个工作区,让开发者可以一边让智能体执行任务,一边理解和审查它生成的代码,并根据当前发现直接提出下一步要求,使“智能体执行”与“开发者理解”形成连续的人机协作闭环,缩短了从代码生成、审查判断到反馈修正的路径,让智能体的代码生产能力更高效、可靠地转化为真实的软件工程生产力

团队也尝试重新设计人机协作分工与环境:开发者给出目标,Agent 负责具体实现,开发环境把 Agent 的工作结果转化为更容易理解和审查的形式,帮助开发者随时掌握变化、判断影响并提出下一步要求。MoonBit 团队将这种围绕智能体任务、代码理解和人类决策建立的新型环境称为 ADE,即智能体开发环境。

如果说传统 IDE 的核心,是把编辑、补全、调试和搜索等工具集中在开发者手边,帮助人更高效地亲自编写代码,那么 ADE 的核心,是把任务委派、智能体执行、代码理解、变更审查和反馈迭代组织成一个高效完整的人机开发协作闭环。前者提升的是人的编码效率,后者要释放的,是以人为最终决策者的人机协作生产力

 

SeekMoon 亮点一览

  • 词法与语法树 Diff:更清楚地理解代码变化
  • 代码可视化:让智能体把结构画出来
  • 从字符到语法树:把检索结果交给智能体

 

面向智能体协作的工作区

SeekMoon 的工作区围绕一项持续推进的开发任务展开:开发者给出目标后,智能体分析代码、制定计划、修改文件并运行验证,过程和结果都保留在任务上下文中。开发者可以在任务旁浏览项目、检索和阅读文件,也可以随时打开 Diff Review 检查变更,判断修改是否符合预期,并据此向智能体提出新的要求。


图:SeekMoon 将智能体任务与代码审查放在同一个工作区中

在这种分工下,开发环境的首要任务应该是帮助开发者读懂智能体生成的代码。围绕代码理解与审查,SeekMoon 提供了三类能力:

1. 用词法 Diff 和语法树 Diff 理解变更。 在常见的行级 Diff 基础上,SeekMoon 进一步提供词法 Diff 和语法树 Diff,并在审查界面中保留定义跳转、引用查找等 IDE 阅读能力。

2. 用代码可视化把握整体结构。 注释文档和架构图可以直接呈现在代码旁,配合自动折叠,让开发者先看结构、再读实现。

3. 用语法树搜索圈定修改范围。 除字符级文本搜索外,SeekMoon 还提供面向 MoonBit 的语法树搜索,检索结果可以直接加入智能体上下文。

词法与语法树 Diff:
更清楚地理解代码变化

为帮助开发者看清代码究竟发生了什么变化,SeekMoon 面向 MoonBit 提供词法 Diff 和语法树 Diff。词法 Diff 弱化换行、缩进等格式调整,突出实际修改;语法树 Diff 则根据代码结构呈现函数提取、变量重命名等重构关系。相比仅按文本行展示增删的行级 Diff,这两种模式能让开发者更直接地理解变更。

以 SeekMoon 实际开发中的一次修改为例:在为 @process.collect_stdout(“hostname”, []) 增加新的参数 no_console_window=true 后,格式化将一行代码展开为五行。行级 Diff 因而显示为一行删除、五行新增,而词法 Diff 则跨行匹配原有代码,只突出新增参数和必要的逗号,让实际变化一目了然。


图:同一处修改在行级 Diff(上)与词法 Diff(下)中的对比

词法 Diff 适合看清局部修改;遇到函数提取、变量重命名或分支重排等结构性变化,还要进一步理解代码如何被重组。语法树 Diff 根据 MoonBit 的语法结构呈现差异,更适合阅读这类重构。

以 moonbitlang/core 项目中的一次 HashSet 重构为例:将集合构造提取为 make_int_set,把局部变量从 map 改为 set,并调整了断言形式。在行级 Diff 中,这些变化会一起表现为大段删除与新增,开发者需要自行判断它们之间的关系。

切换到语法树 Diff 后,差异会按照 MoonBit 的语法结构呈现,函数提取和相关调整更容易分辨。开发者可以更清楚地理解代码如何被重组,再核对重构前后的行为是否一致。


图:同一次 HashSet 重构在行级 Diff(上)与语法树 Diff(下)中的对比

看清差异之后,开发者还要判断修改是否正确、会影响哪些代码。SeekMoon 在 Diff Review 中完整保留了悬浮信息、定义跳转和引用查找等 IDE 能力。下图中,开发者可以在审查时直接打开引用列表,并在 Diff 旁预览相关代码,不必切换到其他界面查找信息。


图:在 Diff Review 中查找引用并预览相关代码

代码可视化:
让智能体把结构画出来

理解代码结构时,图表往往比连续文字更直观。但在传统开发中,绘图和维护都需要额外投入;代码一旦变化,图表又很容易与实现脱节,因此很难长期作为可靠的代码说明。

智能体可以在同一轮任务中生成实现并同步更新注释。结构说明与代码来自同一上下文,更容易随实现同步更新。除了文字说明,智能体还可以在注释中使用 Mermaid 等绘图语言生成流程图和架构图。

不过,阅读 Mermaid 或 D2 源码并不直观。如果开发环境只显示原始文本,开发者仍要离开代码另行预览。SeekMoon 会直接渲染 MoonBit 注释文档,将其中的图表呈现在相关代码旁,同时保留查看原始注释的入口。智能体将架构图写入注释后,开发者阅读代码时便可在旁查看。

普通 MoonBit 源文件第一次打开时,SeekMoon 还会自动折叠顶层实现,优先呈现声明、文档和整体轮廓。开发者可以先通过接口和图表了解代码结构,再按需展开需要核验的实现。


图:MoonBit 源文件内联渲染注释文档和架构图,并自动折叠顶层实现

从字符到语法树:
把检索结果交给智能体

在常见的字符级文本搜索之外,SeekMoon 还提供面向 MoonBit 的语法树搜索。开发者可以查找结构相同、具体写法不同的代码。

以测试代码重构为例,moonbitlang/core 项目中的一些测试通过比较结果是否与 true 相同来判断条件是否成立。要找到这些代码,开发者可以运行下面的语法树搜索模式:

@test.assert_eq($(actual:arg), true)

其中 $(actual:arg) 是一个占位符,可以匹配不同的参数表达式。这次搜索共找到 43 处结构相同的调用,结果列表同时显示了每处调用及其上下文。


图:语法树搜索在 core 中找到 43 处匹配,分布于 9 个文件

随后,开发者可以检查搜索结果,排除仍需保留的测试,确定需要修改的范围,再把其余命中连同修改要求交给智能体,统一改用 assert_true。智能体完成修改后,开发者可以在 Diff Review 中检查这些变更。

走向 ADE

随着智能体承担更多实现工作,开发者也需要把更多精力放在审查上。代码能够生成出来,并不意味着它已经可以进入项目。开发者仍要判断变更是否符合预期,再决定接受还是继续修改。

SeekMoon 正是围绕这些工作设计的。Diff Review 用来分辨变化,代码可视化呈现整体结构,语法树搜索则用于确定修改范围。开发者可以据此检查结果、圈定问题,再把新的要求准确交回智能体。

智能体如何执行任务,SeekMoon 也有自己的答案:让智能体生成 MoonBit 程序,将程序及其依赖编译为 WebAssembly,并在细粒度策略约束下运行,减少对任意 Shell 命令的依赖。相关设计与实践可参阅《当智能体不再编写 Shell:语言即沙箱》。

AI 编程的价值链正在从基础模型,进一步延伸至智能体运行环境、开发工具和人机协作入口。让智能体写出代码只是起点。只有当开发者能够清楚地理解这些代码,智能体才能真正成为可靠的软件开发伙伴。

未来,开发者选择一款 AI 编程产品,比较的可能不只是模型性能,还包括任务能否稳定执行、代码是否便于审查、权限是否可控,以及产品能否融入真实的软件工程流程。谁能占据这一工作入口,谁就更有机会沉淀开发者、工具插件和项目上下文,形成持续使用的生态基础。

SeekMoon 已经开源。欢迎扫码访问或进入 moonbitlang/openseek 查看代码、构建并试用,也欢迎加入这场探索,共同推动开发环境从 IDE 走向 ADE。