通义灵码试用体验 - 阿里云的 AI 编程助手

本文介绍了阿里云的通义灵码编程助手的试用体验,它支持VS Code和JetBrains IDE,类似GitHub的Copilot。通过实例展示了如何在JavaScript中解析百度热搜标题,指出其在代码生成、选中代码提问等方面的优点和不足。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

阿里云的通义灵码全面开放公测已经有一段时间了。在通义灵码刚开始公测的时候,我就进行了试用,也录制了相关的视频。这篇文章算是一个文字版。实际的演示视频可以看我的 B 站 / 抖音 / 视频号。

通义灵码可以在编程时作为辅助。在作用上类似 GitHub 的 Copilot。我之前也试用过类似 Cursor 这样的工具,确实对编程开发有一定的帮助。对于阿里云的通义灵码也是有所期待。

通义灵码支持 VS Code 和 JetBrains IDE。我使用的是 VS Code。在 VS Code 上搜索 “lingma” 并安装通义灵码的扩展即可。

a5d4f5c8f8976d7d30a30e83cb6f86d9.png

安装之后需要登录阿里云的账号。完成登录就可以使用了。在 VS Code 右下角的状态栏里面有通义灵码的图标。

我尝试编写的程序和之前试用 Cursor 是一样的。用 JavaScript 来解析百度首页上百度热搜的标题。

我首先尝试的是从注释生成代码。我输入的一段注释:提取百度首页上的百度热搜。通义灵码生成了下面的代码。通义灵码会给出几个备选项。这个选项看起来最合理。生成的 getBaiduHot 方法用 DOM 来解析 HTML 页面并提取其中的文本。看起来还不错,先保留了。

// 提取百度首页上的百度热搜

function getBaiduHot() {
    var hot = [];
    var hot_list = document.getElementsByClassName("hot-list")[0].children;
    for (var i = 0; i < hot_list.length; i++) {
        var hot_item = hot_list[i];
        var hot_item_a = hot_item.children[0];
        var hot_item_a_text = hot_item_a.innerText;
        hot.push(hot_item_a_text);
    }
    return hot;
}

光有这一个方法也是不够的。我们需要的是完整的程序。于是从 VS Code 的侧边栏打开通义灵码的聊天会话窗口。在这里可以与通义灵码交互。

在聊天框输入:javascript 解析百度首页的内容。通义灵码给出了一段代码实现。可以直接插入到 VS Code 编辑器中,也可以复制。

bbd9deb88064b67605f99045d3379d82.png

通义灵码给出的是一个基于 fetch 的实现,在 NodeJS 上跑不了。要求改成 nodejs 实现。通义灵码又给出了一个使用 axios 的实现。

263a2c0c9f2f63c181093246e8710615.png

运行之后出现错误:DOMParser is not defined。直接把错误发送给通义灵码,得到了一个使用 jsdom 的解决方案。

fdeea766a16d9071f8c6b565593245d1.png

很明显,获取百度首页HTML的代码需要与之前生成的 getBaiduHot 方法结合起来。getBaiduHot 方法体中的 document 需要提取成参数,然后把 jsdom 解析的 document 对象传过去。通义灵码并不支持 Cursor 的选中代码之后直接提问的方式。选中代码之后只有解释代码、生成单元测试和生成注释的选项。这是通义灵码的一个很大的限制。因此只能手动把 getBaiduHot 的 document 提取出来。

把程序运行起来之后会发现,没有输出任何内容。猜测就是 HTML 解析出错了。CSS 类名可能不对。遗憾的是,通义灵码并不能回答这个问题。只能自己查看百度首页的 HTML 代码。

47a4e24f32210e06dafe9d646e7315ab.png

经过一段时间的调试,就得到了最终的代码。在这个过程中,通义灵码提供了很多帮助,生成了基本的骨架代码。作为程序员,所要做的是调试和修改。

// 提取百度首页上的百度热搜
function getBaiduHot(document) {
  var hot = [];
  var hot_list = document.getElementsByClassName("s-hotsearch-content")[0]
    .children;
  for (var i = 0; i < hot_list.length; i++) {
    var hot_item = hot_list[i];
    var hot_item_a = hot_item.children[0];
    hot.push(hot_item_a.textContent);
  }
  return hot;
}

const axios = require("axios");
const { JSDOM } = require("jsdom");

axios
  .get("http://www.baidu.com/")
  .then((response) => {
    const parser = new JSDOM(`<!DOCTYPE html>${response.data}`);
    const window = parser.window;
    const doc = window.document;
    var hot = getBaiduHot(doc);
    console.log(hot);
  })
  .catch((error) => {
    console.error("Error:", error);
  });

最后的输出如下所示:

91a6daa3e9bef565118ba8ac14fbfb44.png

总的来说,这一次使用通义灵码的体验还是不错的。不过通义灵码要改进的地方也不少。通义灵码不支持对选中的文本给出代码提示,这一点很影响使用体验。代码提示的精准度比较一般。通义灵码的优势在于服务的获取简单,响应速度快。在其他工具访问困难时,通义灵码可以作为一个不错的备选。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值