时代背景
刚刚过去的2023年无疑是人工智能(AI, Artificial Intelligence)发展和应用的重要一年,也可以说是人工智能全面爆发的元年。这一年全球AI领域发生了一系列重大事件,标志着人工智能技术在多个领域取得了突破性进展,并开始加速向实体经济渗透同时也对社会未来的发展方向产生深远的影响。而随着2024年的到来,AI的势头已然势不可挡。2024年国务院国资委召开中央企业人工智能专题推进会中也表示了国家对未来AI行业的发展的重视程度
该会议强调,中央企业要把发展人工智能放在全局工作中统筹谋划,深入推进产业焕新,加快布局和发展人工智能产业。这意味着国内AI人才需求将大幅度上涨。未来将会有很多相关岗位的产生,那该如何把握住时代的浪潮?
学习并且使用AIGC将会成为关键
什么是AIGC
AIGC(Artificial Intelligence Generated Content)指的是人工智能生成的内容。随着人工智能技术的快速发展,AI已经能够生成包括文本、图像、音频、视频等多种形式的内容。AIGC在各个领域都有广泛的应用。
首先,AIGC的自动化能力在一定程度上取代了程序员的一些重复性和简单性的工作。传统的编程工作中,程序员需要花费大量的时间和精力来编写、测试和修复代码。然而,随着AI的发展,一些编码任务可以通过AIGC来完成,测试和调试也可以通过AIGC来完成。这意味着程序员可以更加专注于复杂性和创新性的工作,提高工作效率和创造力。
其次,AIGC的应用和发展也带来了新的机会和需求。AIGC的发展极大地提高了内容生产的效率,同时也引发了关于原创性、版权、伦理等方面的讨论。随着技术的不断进步,AIGC的应用领域将会更加广泛,影响力也会进一步增强。
下面是我自己在学习中所接触到的一个AIGC和传统编程区别的例子
网页数据提取 传统爬虫 VS AIGC
传统爬虫获取网页数据
举一个简单的例子,在最近的爬虫学习中,想要对一个网页(某瓣)进行数据爬取,传统的做法需要
- 发出一个http请求 返回html字符串
- 对字符串做查找正则
- 对字符串进行数据提取变成一个对象数组 代码如下:
import { createCrawl } from 'x-crawl' // 创建爬虫
// 创建爬虫应用
const crawlApp = createCrawl() //
// crawlPage 用于爬取页面
crawlApp.crawlPage('https://movie.douban.com/chart').then(async (res) => {
const { page, browser } = res.data
// 等待元素出现在页面中
await page.waitForSelector('#wrapper #content .article')
const filmHandleList = await page.$$('#wrapper #content .article table')
const pendingTask = []
for (const filmHandle of filmHandleList) {
// 封面链接(picture)
const picturePending = filmHandle.$eval('td img', (img) => img.src)
// console.log(picturePending, '////')
// 电影名(name)
const namePending = filmHandle.$eval(
'td:nth-child(2) a',
(el) => el.innerText.split(' / ')[0]
)
// 简介(info)
const infoPending = filmHandle.$eval(
'td:nth-child(2) .pl',
(el) => el.textContent
)
// 评分(score)
// const scorePending = filmHandle.$eval(
// 'td:nth-child(2) .star .rating_nums',
// (el) => el.textContent
// )
// 评论人数(commentsNumber)
const commentsNumberPending = filmHandle.$eval(
'td:nth-child(2) .star .pl',
(el) => el.textContent?.replace(/\(|\)/g, '')
)
pendingTask.push([
namePending,
picturePending,
infoPending,
// scorePending,
commentsNumberPending
])
}
const filmInfoResult = []
let i = 0
for (const item of pendingTask) {
Promise.all(item).then((res) => {
// filmInfo 是一个电影信息对象,顺序在前面就决定好了
const filmInfo = [
'name',
'picture',
'info',
// 'score',
'commentsNumber'
].reduce((pre, key, i) => {
pre[key] = res[i]
return pre
}, {})
// 保存每个电影信息
filmInfoResult.push(filmInfo)
// 最后一次的处理
if (pendingTask.length === ++i) {
browser.close()
// 整理,根据数量决定是多还是单
const filmResult = {
element: filmInfoResult,
type: filmInfoResult.length > 1 ? 'multiple' : 'single'
}
console.log(filmResult)
}
})
}
})
AIGC 获取网页数据
而在使用AIGC进行工作开发时可以极大的帮助程序员提高工作效率,减轻工作负担,使编程变得更加轻松和高效。你需要的仅仅是详细的将需求告知给AI模型,它将会自动阅读和分析文本来获取你想要的数据。
总结
程序员需要不断学习和更新自己的知识和技能,以适应这些新的需求。只有不断学习和提升自己的能力,程序员才能在AI时代保持竞争力。
此外,AI的发展也带来了一些挑战和风险。随着AI技术的广泛应用,一些程序员可能会面临失业的风险,特别是那些只从事重复性和简单性工作的程序员。就像网上说的一句话:顺应时代发展,创新是唯一的出路。那些固执守旧的人,终将被时代的洪流所淘汰。