我可能不再需要搜索引擎:ChatGPT的崛起

192 阅读4分钟

我正在参加「掘金·启航计划」

前言

最近我的同事问我,chatGPT使用的体验如何?

如果你只是把它当作一个搜索引擎来使用的话,那我觉得你需要往下看看了:

坦白讲,在过去的几年里,搜索引擎一直是我获取知识、信息的主要工具。然而,随着人工智能的发展,这一情况正发生着变化。最近,我接触并使用了ChatGPT,它让我重新审视了我的信息获取方式。这款强大的工具让我意识到,我可能不再需要依赖传统的搜索引擎了......

聊天式的交互方式

与浏览器不同的是,ChatGPT能够理解我们说的话,知道我们想要什么样的东西。使用搜索引擎时,我们可能需要不断地复述、修改搜索内容,但在ChatGPT中,我们只需要稍加补充说明,便能够得到进一步精确的答案。这种聊天式的交互方式大大提高了我们获取信息的效率和准确性。

image.png

即使是一段长长的描述,它也能够理解并给出尽可能符合你想法的内容,只要你对问题的描述足够细致。

上下文的概念

ChatGPT具有上下文理解的能力。这意味着它能够理解我们之前的问题和回答,从而更好地回应我们的需求。这与搜索引擎形成鲜明对比,后者往往需要我们不断地输入关键词,直到找到满意的答案。

image.png

按照这个思路,你可以一直引导他不断地挤出 “牛奶”

筛选和精确的回答

搜索引擎给出的内容参差不齐,用户需要花费大量时间去挑选和筛选。而ChatGPT则彻底解决了这个问题。它每次只返回一个答案,这个答案通常是经过筛选和整合的,既减少了用户筛选信息的时间,也提高了信息的可靠性。

需要辨别能力

当然,ChatGPT并非完美无缺。有时它会给出一些不符合事实的答案,这就需要我们具备一定的辨别能力。但总体而言,它的性能和准确性已经让许多开发人员惊叹不已。

阅读源码

这个部分恰恰是我觉得比较牛逼的地方,当你想研究一些源代码但是常常在某个地方卡住的时候,我想你需要一个chatGPT: 这是一段vue中的relase.js的源码


async function main() {
  let targetVersion = args._[0]

  if (!targetVersion) {
    // no explicit version, offer suggestions
    const { release } = await prompt({
      type: 'select',
      name: 'release',
      message: 'Select release type',
      choices: versionIncrements.map(i => `${i} (${inc(i)})`).concat(['custom'])
    })

    if (release === 'custom') {
      targetVersion = (await prompt({
        type: 'input',
        name: 'version',
        message: 'Input custom version',
        initial: currentVersion
      })).version
    } else {
      targetVersion = release.match(/\((.*)\)/)[1]
    }
  }

  if (!semver.valid(targetVersion)) {
    throw new Error(`invalid target version: ${targetVersion}`)
  }

  const { yes } = await prompt({
    type: 'confirm',
    name: 'yes',
    message: `Releasing v${targetVersion}. Confirm?`
  })

  if (!yes) {
    return
  }

  // run tests before release
  step('\nRunning tests...')
  if (!skipTests && !isDryRun) {
    await run(bin('jest'), ['--clearCache'])
    await run('yarn', ['test', '--bail'])
  } else {
    console.log(`(skipped)`)
  }

  // update all package versions and inter-dependencies
  step('\nUpdating cross dependencies...')
  updateVersions(targetVersion)

  // build all packages with types
  step('\nBuilding all packages...')
  if (!skipBuild && !isDryRun) {
    await run('yarn', ['build', '--release'])
    // test generated dts files
    step('\nVerifying type declarations...')
    await run('yarn', ['test-dts-only'])
  } else {
    console.log(`(skipped)`)
  }

  // generate changelog
  await run(`yarn`, ['changelog'])

  const { stdout } = await run('git', ['diff'], { stdio: 'pipe' })
  if (stdout) {
    step('\nCommitting changes...')
    await runIfNotDry('git', ['add', '-A'])
    await runIfNotDry('git', ['commit', '-m', `release: v${targetVersion}`])
  } else {
    console.log('No changes to commit.')
  }

  // publish packages
  step('\nPublishing packages...')
  for (const pkg of packages) {
    await publishPackage(pkg, targetVersion, runIfNotDry)
  }

  // push to GitHub
  step('\nPushing to GitHub...')
  await runIfNotDry('git', ['tag', `v${targetVersion}`])
  await runIfNotDry('git', ['push', 'origin', `refs/tags/v${targetVersion}`])
  await runIfNotDry('git', ['push'])

  if (isDryRun) {
    console.log(`\nDry run finished - run git diff to see package changes.`)
  }

  if (skippedPackages.length) {
    console.log(
      chalk.yellow(
        `The following packages are skipped and NOT published:\n- ${skippedPackages.join(
          '\n- '
        )}`
      )
    )
  }
  console.log()
}

image.png

这里给出的只是一个简单的例子,你也可以让他呈现更加详细的内容。

结论

给出一个还不错的网站:ChatGPT - Poe

以上内容可能相对空泛,事实上这些仅仅是一些使用上的心得体会,甚至于这篇文章的绝大部分,也是由 chatGPT 完成。 你当然也可以利用他去完成你输出(工作周报,年终总结,述职报告...)

ChatGPT的出现让我意识到,我们可能正处在一个不再依赖传统搜索引擎的时代。这款强大的工具让我们更加高效、准确地获取信息,同时也激发了我们思考未来技术将如何影响我们的生活。作为开发人员,我们应该学会使用这样的工具,而不是担心被替代。毕竟,真正的程序员应该与时俱进,不断适应和探索新技术。