《我这样用GenAI》

AIGCxChina发起「我这样用GenAI」主题共创投稿

1. 什么人、什么事、什么东西启发了你,让你开始接触和应用GenAI(生成式人工智能)?

Shuyi Wang - YouTube, 对的, 就是本次征稿发起人 王树义(公众号:玉树芝兰) 老师极大的触动了我;

他的故事, 应该早已流传开了, 对于俺最触动的一点是: 无尽的好奇心, 还能配套上无穷的执行力;

早在 ChatGPT 出现之前, 王老师就已经带领学生团队出国参与各种 AI 比赛, 并拿了奖金回来过, Kaggle 之类比赛已经是常规参与者;

即便有繁重的教学任务, 王老师依然持续分享各种 AI 和科研以及日常使用的各种技巧; 虽然很多工具/渠道/技巧/...不久就过时了, 但是, 王老师依然乐于第一时间体验/思考/探索/分享;

这种积极拥抱世界变化的态度, 非常有感染力, 俺也不得不被传染, 开始复用各种渠道接触到的 GenAI 资源;

2. 你是如何把GenAI能力与自己的工作或生活相结合的?如工具选择、工作流拆解、应用切入口等。

说两种姿势的日常使用吧:

编程

副驾驶

作为20+年以上程序猿, 首要的当然是辅助编程了, 尝试过过各种服务,国内内外的都有, 最终稳定下来, 在日常使用的, 还是 VSCode 官方推荐的:

GitHub Copilot - Your AI pair programmer

详细使用过程, 有视频记录:

AIGCxZhuhai[demo show]通用编程AI辅助过程 来自 @YouTube

整体来说, 需要一些配置过程, 然后, 自动生成的提示, 也主要看使用的技术桟; 如果是 Haskell/SmallTalk 之类小众语言,就甭期待能生成什么靠谱的代码了;

但是, 如果基于 Py/Golang/Rust/... 热门技术, 而且在 GigtHub 中有很多开源仓库的, 那么, 你又没有在开发非常奇怪的特殊项目, 只是日常小工具, 又或是 CRUD/增删查改 型常规应用, 那么, 感觉生成的代码, 60% 以上是可以使用的, 但是, 并不是每次都能生成不用修改就能使用的代码, 最多是能猜到你接下来最大概率将输入的代码形式, 具体是否能和以往代码关联起来,变量名什么的都对的上, 那得看运气;

多数情况中, 生成的代码,越少, 越能匹配当前项目; 越多,越没溜;

随着 OpenAI 的迭代, Copilot 吸收消化 的开源仓库代码越来越多; 在 VSCode 界面中自动生成的代码也将越来越可用;

当然, 还有一个前提是, 你的网络足够稳定, 支持 Copilot 能大量的拉上拉下各种数据.

PS:

增删查改(英语:CRUD),全称:

  • Create 增加
  • Delete 删除
  • Read 查询
  • Update 改正

在计算机程序语言中是一连串常见的动作行为,而其行为通常是为了针对某个特定资源所作出的举动(例如:建立资料、读取资料等)。这四个行为最常见的用途是在使用SQL数据库与网站的API的时候。这个词语(CRUD)最早被记载于James Martin所撰写的Managing the Data-base Environment - James Martin - Google 图书书中

进一步的, 这四种行为在不同场景中对应的术语:

CRUD

音乐

主引擎

很早知道: 生成艺术/generative art, 也就是使用代码生成视觉/听觉艺术品;

听觉的, 当然就是音乐了; 当时知道的是: Algorave 有各种专用 DSL 进行实时编程并生成音乐:

比如:

她们要不得编程, 要不得编曲...尝试后, 都没能生成可用的音乐;

直到大家发现并推荐了很多生成式音乐服务, 几种用下来, 就稳定在 Suno, 已经制作并日常使用了一小批音乐:

Chaos42DAMA | Suno

虽然有很多教程, 但是, 上手后, 发现, 就两条件最有用的:

  • Suno Explore 探索当前支持哪些曲风
    • 然后抄下来风格提示词, 比如: Ambient House 16-bit
  • Suno 在首页体验,那些曲子是自己喜欢的
    • 然后抄下来生成提示词, 比如: Minimalistic Grunge Electro Swing 90s Rock Sound Distorted Guitar Upright Bass Swing Beats Synth Pads Simple Drums
    • 当然, 如果包含歌词的话, 也得注意其中的关键提示词, 比如:
      • [Pre-Chorus]
      • [Chorus]
      • ...
      • (that I lived)

基于以上, 多尝试, 并使用内置的 Extend ~ 拓展功能, 就可以在一段60秒以内的音乐, 不断合并/拓展为一个足够长度的可听歌曲了;

当然, 一切基于每天定量的 Token, 也就是说, 每次尝试, 都要消耗掉一定信用点 Credits 每次大约20个点? 因为每次自动生成2个版本音乐供你选择;

好在, 嘦每天坚持使用, 这个信用点, 每天都自动送一些, 足够你每天完成一到两个构思的探索;

如果, 实在创意丰沛, 那还是得充值, 获得更多生成音乐.

3. 请详细讲述你应用GenAI的案例,

讲述你印象最深刻的一个案例,可以包括小技巧,建议系统地讲前因后果、来龙去脉。再谈谈它给你带来了怎样的改变?如工作效率提升、职位晋升、个人影响力提升、工作流程重塑等。

日常最常用的姿势, 也是印象最深刻的一类了, 毕竟形成了肌肉记忆, 那就是替代传统搜索引擎, 来快速完成资源挖掘/重组/辅助生成:

例如, 俺想开发一个辅助练习打字的 golang 程序,就可以这么提问:

[角色要求]
假设你是一位经验丰富的 Golang 工程师, 特别是在 CLI 领域有海量积累,
并乐于帮助同事, 愿意详细分享代码的思路;

[问题背景]
为了练习 Golang 开发技巧, 我需要从0开始构建一个 CLI 工具;

[问题描述]
工具名为 Typer, 主要功能有以下三点:
1: 运行在标准终端中, 分三部分, 顶部是练习文稿,可以根据用户的键入,变化对应字母的粗细以及颜色; 中部是键入区, 跟踪用户的键入,逐一显示键入的文字, 有动画效果, 字体足够大; 底部是键盘示意区, 跟踪用户的键入,逐一提示当前敲击的键, 以及将敲击的键;
2: 分不同难度, 有内置文库, 可以自动随机选择不同难度的经典文本, 来练习输入
3: 可以记录键入过程, 分析其中的习惯, 速率等等关键行为数据, 并记录下来, 每次对比提示出进步或是退步的情况;

[输出期待]
将我视为一名大一的普通学生, 
尽可能详细的阐述整体工程的结构, 以及关键功能实现的思路;
并给出具体示例代码, 来说明功能难点, 以及如何从头构建和调试这一项目;

[礼貌部分]
谢谢
  • 以上 [框住的是注释,不是要输入的提示词]

这样, 就可以获得一篇详细的开发指导书, 如果哪个部分看不明白就可以继续追问, 配合一路上真实进行调试, 很快速就可以形成一个全新领域, 相对靠谱的可用概念工程, 来作为自学路径了;

这种聊天式对话搜索, 比原先需要自己逐一尝试关键词, 并广泛的快速通读网页内容来判定是否吻合期待, 效率要高很多;

进一步的, 俺习惯将同一个问题同时问一系列 GenAI 以便对比, 第一时间识别幻觉, 当前免费同时使用的引擎:

  • ChatGPT 4o 免费版本,每天使用次数受限, 擅长生成流畅的文本, 有一定幻觉含量, 需要小心检验;
  • Gemini 免费版本, 擅长生成有结构的长篇文本, 可能只输出英文, 中文直接输出的品质一般;
  • devv_ Claude 3 Haiku 免费版本, 能选择多种引擎,以及技术领域, 组合起来, 可以很好的生成对应技术栈的示例代码, 有一定经常, 但是, 能自动列出使用的网页链接;
  • Kimi 国产免费, 不会墙, 限额大方, 而且接口简洁, 生成的内容比较少, 但是, 幻觉也相对少;
  • 秘塔, 国产免费, 不会墙, 新出的文库 功能, 能将生成的内容来源文档列出, 很多都是在线的电子图书, 这样, 就可以有效减少幻觉, 并立即找到对应信息源头

综合以上大模型对话, 真的就像是和多位个性不同的同事在随时聊天儿, 获得的信息品质, 又完全取决我们自己对问题描述的品质;

感觉上就是像互联网被具像为活人来反射各种偏见 ;-)

过往, 无论是用 google 还是 duckduckgo 等等各种搜索引擎, 其中技巧从来没有变过:

  • 如果不知道问题的解决方案, 那就要先探索出可能方案的对应英文术语
  • 抽象出对应问题可能的关键词, 进行搜索
    • 这时可以是中文, 最好3个关键词以上
    • 比如: 想知道 Pandas 性能问题有什么, 以及如何解决
    • 一开始, 可能要搜索: Pandas+Python+性能+问题
  • 然后, 通读各种结果网页, 找到正好或是相关的性能问题分析内容, 并找到其中提及的具体性能问题对应的英文术语
  • 接着, 使用这个术语, 追加上 Pandas, Python, performance 等相关关键词, 再进行搜索
  • 反复以上过程, 直到发现, 并识别出:
    • 具体性能问题的分析和解决方案
    • 以及对应方案提出作者/团队名
    • 再进一步挖掘, 这些人名, 找到对应 blog 或是 github 仓库, 进行逐一探查
  • 最终才可能挖掘出正好或是可能解决自己工程中具体问题的模块或是代码
  • 但是, 想使用这些代码, 还要另外一大堆探查, 实验以及检验

可现在, 完全可以将各种大模型当成一个可以通过文字进行协作的万能同事了, 也就是说, 可以象在微信聊天框中一般, 给出具体请求, 并能获得对应基本可用的指引了;

只是, 要注意的是:

其实, 本质上是恢复了最初我们使用搜索引擎的直觉期待, 将问题本身直接进行陈述, 而不必事先人工将其抽象为可用来搜索的关键词而已;

但是, 关键词抽象的技巧一样有用, 毕竟, 这也是 GenAI 们依赖的关键词哪;

4. 谈谈上述改变给你带来了怎样的思考?

也就是说, 对于陌生领域的探索, GenAI 们比原先的搜索引擎要更加友好, 以及有启发性; 唯一要注意的是其中知识幻觉问题, 毕竟 LLM 们只是推测出最有可能的下一个字, 而对所有字逐渐输出形成的文章在说什么并不关心, 也无法理解;

即, 和 GenAI 的对话过程, 其实也是一种编程和执行过程;

我们输入的并不是问题, 而是 提示词(prompts); 提示词可以被理解为一种特殊的指令或问题,它告诉模型我们需要什么样的输出。

提示词对生成结果的影响非常大,因为它们直接指导了模型的思考方向和输出内容; 一个好的提示词可以引导模型准确地理解我们的需求,并生成高质量的响应。 相反,一个不恰当的提示词可能导致模型产生无关或低质量的输出,甚至于包含伪造的幻觉知识。

但是,ChatGPT 们沿用 Google 们传统搜索引擎的 UI 界面,本身是对 GenAI 使用的一种巨大误导, 以为和以往一样, 是在搜索即有的资料, 只是输入的自然语言引擎可以理解了,而且可以根据原有网页资料自动组合为全新的文本;

强烈推荐这篇最直爽的科普文章: What Is ChatGPT Doing … and Why Does It Work?—Stephen Wolfram Writings

ChatGPT 是做什么的? 它为什么能做到?

然后, 就对当前 AIGC 们的发展有了完全不同的期待以及理解;

简单说:

  • ChatGPT 们并没有真正的智能, 只是行为表现上已经很难判定是否无智能了
  • 大模型/多模态 只是对相同概率计算是不同深度组合, 基本计算原理是不变的
  • GenAI 们有上限制, 这个上限随着数据/参数/算力 数量级的堆砌将很快达到性价比极限...
    • 除非核聚变很快完成实用化
    • 算力无限时, GenAI 才可能有进一步发展吧?
  • 当前文生文/图/音/视/... 等等应用方向上, 将很快冲过新鲜感阶段,
    • 大家对 GenAI 作品有直觉上的判定,
    • 其价值感觉在各种艺术家们的联合下, 被分配到合理期待区域, 和人为作品形成不同赛道, 不再相互比较,
    • 当然, 在具体领域, 将变成日常草稿之类的辅助阶段工具
  • 传统计算机的工作场景, 计算/代码生成/配置生成/...在各种自动化流程极大丰富后, 有了具体自检指标体系后, GenAI 可能替代部分已知问题域的自动运维任务, 但是, 具体的各种业务功能, 还是无法离开人类副驾驶的角色独立持续进行;

5. 基于你的经历和思考,你对于同行应用GenAI有哪些建议?

未来已来,只是未平均

对于同行, 也就是软件工程的同行, 当前有些许把握的建议:

  • 关注微软的 AI 策略吧, 历史反复证明了, 微软无论过程中犯过什么错误, 最后总是能合理的找到自己的位置, 并快速重新占领新领域一片自己的市场;
  • Python 在可预见的未来, 还是 AI 领域的主力技术栈 , 至少 Guido 老爹本人现在就退休反聘在微软;
  • 我们整个儿行业的使命就是: 构造 AI 来替代程序员这种生物, 即, IT 行业创立初衷就是消灭 IT 行业本身, 这是其它所有行业从未有过的驱动模式;
    • 所以, GenAI 的出现是必然, 只是可能并不是终点;
  • 但是, 我辈中人, 值得立即开始思考, 如果明天整个 IT 行业不存在了, 自己对社会还能贡献什么力量? 或是说自身的价值又在哪儿?

套句流行剧集的话:

去生活, 受苦, 爱吧...

开始尽可能的,在各种场景中使用 GenAI 们吧, 然后, 才能绕过各种广告, 通过真实体验理解, 哪些能用, 哪些不能, 以及为什么;

是否要在真实生产系统用包含 AI ? 无论 AI 是否有真实帮助哈, AI 现在就象以往的敏捷/CMMI/纳米/小型机/镭/... 各种时代社会流行期待元素; 你不用就卖不出去; 那就用上, 反正都有开源的, 这可能是 IT 行业留给普通人最大的善意了; GNU/GPL/FLOSS/... 永桓的伟大思想保护我们可以一直相对流畅的复用他人智慧成果, 而不用每个字符都要付费;

当然, 以上只是从23年初开始, 零星使用各种方向上的总结; 直觉上, 这18个月, 使用 GenAI 相关服务的次数没通过 22680 次, 整体时长累计也没通过 63 天, 实在是太少了;

因此, 包含的私人偏见不少;

不过, 敢于放话:

  • GenAI 已经进入可用阶段
  • 只是, 在精确度要求高的场景中, 依然无法完全信任
  • 好在, 各种探索利要求高场景中, 已经足够承担普通人的日常使用了
  • 而且, 都有免费渠道/版本可以使用
  • 至少, 足以部分替代 google 等普通搜索引擎们了, 当前,俺每天的搜索行为, 一半在 GenAI 一半在搜索了;

进一步的, 在写作/播客节目/视频节目/...方面,如何结合 GenAI 们, 是俺在探索的, 也希望大家在 AIGCxChina 各城市分站中, 一起探索和分享使用 GenAI 的经验,以便加速跃进 AIGC 时代;-)

logging

  • 240718 ZQ 根据约稿格式, 重构, 并增补思考过程...
  • 240717 ZQ 发布
  • 240715 ZQ 迁移到 zoomquiet.io
  • 240715 ZQ 前导
  • 240710 ZQ 收集各种链接
  • 240704 ZQ 重构大纲
  • 240701 ZQ init.
  • 240630 ZQ 决定参与
  • 240625 ZQ 获知

知识共享许可协议 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可;-)