最近我在火山引擎开发者社区看到了火山引擎正式发布了一款豆包编程模型 Doubao-Seed-Code,专为 Agentic 编程任务深度优化过,并且还是国内首个支持视觉理解能力的编程模型。
笔者作为一个关心孩子学习的家长,对 AI 辅助教学领域这块特别感兴趣。因此看到这个模型发布新闻之后,第一时间就进行了试用。
笔者之前用的是 Claude Code + Qwen 的组合,看到火山引擎发布的新闻里提到 Doubao-Seed-Code 还针对 Anthropic API、TRAE 等主流 AI 开发生态做了兼容。也就是说,我只需要启动 Claude Code 时设置几个命令行参数,就能把目前手头正在用的 AI 开发工具一键切换到 Doubao-Seed-Code 去,很方便。
对于我们普通开发者来说 ,订阅方舟 Coding Plan Lite 就足够用了。
订阅之后,在火山方舟的模型广场里获取 API key,然后在 windows cmd 里,执行如下命令设置环境变量。
其中把第一个 setx 语句里的 xxx,替换成我们实际获取的 API key 就可以了。
setx ANTHROPIC_AUTH_TOKEN xxx
setx ANTHROPIC_BASE_URL https://ark.cn-beijing.volces.com/api/coding
setx ANTHROPIC_MODEL doubao-seed-code-preview-latest
然后启动 Claude Code,执行命令行 /status, 看到如下输出,说明 Doubao-Seed-Code 与 Claude Code 成功集成了。
Doubao-Seed-Code 既然被称为国内首个具备视觉理解能力的编程模型,我们首先来小试牛刀,让它解读一张 SAP Business Suite for SAP HANA 系统的架构图。
把下面这张图另存为 1.png, 放到 claude code 的项目文件夹下,然后使用 @1.png 命令引用,让 Doubao-Seed-Code 解读这张图。这张图看起来内容不多,就三个组件,所以我给 Doubao-Seed-Code 出了个小难题,强制要求其用 1000 字描述。
从 Doubao-Seed-Code 的思考过程可以看出,它的视觉理解能力堪称惊艳,首先识别出了 SAP S/4HANA 并且判断出这是一款构建在 HANA 内存数据库之上的 ERP 套件,接着牢牢抓住了图中三个组件以及其在图中准确的相对位置:
- 最顶层的前端服务器
- 中间从 Fiori 应用指向前端服务器的蓝色箭头
- 底部的 SAP S/4HANA ABAP 服务器
紧接着 Doubao-Seed-Code 就输出了高质量的针对这张架构图的解说,可惜是全英文的。
没关系,我使用下面的指令,让它翻译成全中文:
translate the above text line by line into Chinese, in markdown format:
现在读起来就舒服多了。
初步领略了 Doubao-Seed-Code 优秀的视觉识别能力之后,我们就可以用它来完成一些实际的工作和学习任务了。
在 Claude Code 里发出指令:
参考附件这张科赫雪花的图片,生成一个 html 文件,上面有一个下拉菜单,从中可以选择待生成科赫雪花的阶数。还有一个按钮,点击之后,自动生成对应阶数的科赫雪花。阶数为 0,1,2 的科赫雪花图形在附件图片中已经画好了。
很快 Doubao-Seed-Code 就生成好了这个文件:
我们来测试一下效果如何。打开生成好的文件,默认 0 阶雪花是等边三角形,没有问题。
从下拉菜单里选择1阶:
2阶,这都是我手画的草图里指定的图形。
3阶:
4阶,都没有问题:
再给 Doubao-Seed-Code 上难度。
使用指令:
给科赫雪花绘制的过程增添动画效果,增加一个水平方向左右移动的滑动条来控制雪花绘制的速度。
Doubao-Seed-Code 的思考过程:
用户要求给科赫雪花绘制过程增添动画效果,并添加一个水平滑动条控制绘制速度。我需要修改之前的HTML文件,实现以下功能:
-
添加一个滑动条(input type="range")用于控制动画速度 -
实现雪花分步骤绘制的动画效果,而不是一次性画出 -
让速度滑动条能够调整动画的快慢
首先,我需要修改科赫雪花的绘制逻辑。原来的drawKochLine是递归一次性完成绘制的,现在需要将绘制过程分解成多个步骤,每次只绘制一小部分,这样才能形成动画效果。
我可以使用一个队列来存储需要绘制的线段,然后通过requestAnimationFrame或者定时器逐段绘制。滑动条的值可以控制定时器的间隔时间,从而调整动画速度。
让我先规划一下修改步骤:
- 添加滑动条HTML元素
- 修改绘制逻辑,使用队列存储绘制任务
- 实现动画循环,逐段绘制
- 添加速度控制逻辑
现在开始修改HTML文件。
其实如果是一个编程初学者,观察 Doubao-Seed-Code 这个思考过程,也能学习如何将一个需求拆解成一条条可以落地的子任务。
Doubao-Seed-Code 给出了详细的文件改动,方便我们最终审核:
很快 Doubao-Seed-Code 完成了增强,并使用 Python 自动启动了一个本地运行的 web server 方便我测试:
效果也是很完美的,现在学生可以查看科赫雪花的动态绘制效果了:
看这个 gif 文件很能说明问题。
上面的例子展示了 Doubao-Seed-Code 在给定了具体需求任务下精准的视觉识别能力。那么 Doubao-Seed-Code 在编程领域的创造性又如何呢?
我们来给它布置另一个数学领域的开放性任务。
六年级下册数学我们曾经学过圆锥体的体积公式:
圆锥的体积等于与它等底等高的圆柱体积的三分之一。
除了让学生死记硬背这个公式之外,我们还可以让Doubao-Seed-Code 来发挥它的创意,生成一些可以演示这个公式的网页。
使用下面指令:
请你开发一个 html 网页,通过动画的方式,演示圆锥的体积等于与它等底等高的圆柱体积的三分之一这个数学结论。请你充分发挥你的想象力,便于六年级学生理解这个结论。
接下来我们要做的事情就是静静观察 Doubao-Seed-Code 的思考过程和打印输出:
我们来看下最后 Doubao-Seed-Code 生成的 volume-demo.html 文件。左边一个醒目的圆锥体,右边圆柱体,然后醒目的填充圆锥按钮。
目前只有填充圆锥按钮可点,因此我们试着点击之后,发现左边的圆锥被黄色的液体填充满了,然后此时倒入圆柱的按钮变成可点击了。于是我们试着点一下:
会看到左边圆锥容器里的黄色液体空了,全部流入到圆柱体容器内,同时占据了后者三分之一的容积。
看这个 gif 文件更容易理解:
从这个演示动画可以看出,Doubao-Seed-Code 把抽象的体积计算公式,用形象的容器间倒水的方式展示出来,这个思路本身还是很有想象力,也确实能给小学生们留下深刻的印象。
这就是 Doubao-Seed-Code 这些优秀的编程模型体现的价值之一:大大降低了普通人编程的门槛,能让越来越多的中小学教师们,也能利用编程这个工具,让自己的教学形式变得丰富多彩,让孩子们在生动形象的课堂讲解里掌握知识。也期待国内有越来越多像 Doubao-Seed-Code 这样优秀的编程模型出现。
