AI 与 个人计算

让简单的事情保持简单, 让困难的事情成为可能。

一切都是对象, 对象通过消息互相沟通, 对象解释它理解的消息。

在过去的几年里,可能性的景观已经发生了巨大的变化。毫无疑问,摩尔定律和互联网是两股主要力量,它们像大陆板块一样碰撞在一起,创造了巨大的可能性山脉。由于现有的操作系统都是在世界还相当平坦的时候创建的,它们在设计时并没有真正考虑到这些板块力量,因而无法抵达我们现在所能攀登的高度。

AI 已经足够强大, 可能性的景观再次发生了变化。

团队人力分析 游戏 领域知识


big idea

个人计算 AI 个人描述他的想法,在与AI交互中学习。自然语言虽然有问题,但与AI处在相同的环境中。 AI组合环境中的材料制作用户想要的东西,一切都是对象,用户可以给出他的反馈。 用户描述她想要10本书,然后每天4点播放听力… 个人的想法,每次生成这个软件(计算) Smalltalk 引入 openai API 给我一个时钟,描述样式 直接使用(AI你直接帮我做交互层,我的想法是暂时的,也没关系),不要选用使用API制作的软件 对象独立可组合 ,AI 了解组合对象的知识,而不是写代码 把我杯子搬过来,它从原子组合,而不是我要成为物理学家跟他描述杯子的制作。 可组合 可理解,而不是强迫进入细节

大纲

思考在目前的地基上, AI 如何用于增强人类, AI 作为用户界面(User Interface)的元素。

如果编程是关于表达想法,那么AI无法帮助你,它只能成为助手(agent), 熟悉材料。否则无法拼凑,因为你不理解,无法使用它

你依然需要思考和流利读写,然后才能够跟AI协作。正如我无法使用ChatGPT来帮助我写这篇文章,写作是我探索想法的方式。我在写作这篇文章的时候,我的想法才逐渐清晰。

编程会更重要,但主要是关于表达和思考,他是 Seymour 意义上的编程。而不是关于算法和数据结构。 人们会切换到真正强大的编程语言(Paul gramhum)。

它是否达到了临界质量?Alan Kay认为它依然是胡说八道

  • 文章: 目前的 AI 无法用于架构
  • 对 AI 而言: 个人计算提供语境(解释消息,AI 只需要理解和传达意图即可)
  • 对个人计算而言: 新的地标,AI 可用了
  • APPLE 的广告 知识导航器 Tony
  • 对象、消息通信、对象解释消息。AI 将人类的消息(意图)传递进来,计算机解释人类(对象)传递的消息,解释它所理解的部分
    • 代理人,agent(人类是主体) Dynamicland
  • 让简单的事情保持简单,APPLE 为代表的公司做得很好。让苦难的事情成为可能,代理人
  • yoshiki: 多出的自由度,给予AI!

将 AI 与个人计算结合 – 小蘑菇

在个人计算环境中嵌入 AI , 成为导师和助手 如何让 AI 理解正在发生的事情, 诸如视觉的舞台区,人机协作,而不是自动编程(不然用文本就行)

让 ChatGPT 使用个人计算工具 Snap

  • ChatGPT 导师(Jackson, 使用场景)
    • 语音合成?
    • 语音识别?
  • 你能够修改上边的代码,让它只打印偶数吗
    • 教它 if
    • Debug
  • AI 操控工具(AI 使用计算器)

ideas

  • bootstraping
    • 先有一个通用对话框
    • init 告诉它一些规则
    • 来回调试
  • micro AI world
  • init 训练,让它输出 xml
  • 保留前后的积木?不同角色?
  • UI 交互界面,对话
  • 如果我告诉你,我两个小时后给我开门,两个小时内如果有人来,报警,你会怎么写代码?
  • 如何让积木自动运行(人类点击)
  • 常见 Scratch 错误,或者 Python 错误,让 chatgpu 调整,写算法
  • 要教人们这三个积木,你会设计怎样的入门课程
  • 正在思考…
  • 生成 ring 程序
  • 让 AI 作用于它自己,请求之后执行,broadcast
    • 让 AI 与自己对话
  • 需要一个通用的对话窗口
  • 试试 https://github.com/acheong08/ChatGPT/blob/main/src/revChatGPT/V3.py

规划一场 party AI 接管舞台灯 个人计算提供游乐场

让困难的事情变得可能 AI 可以搜索任何可能性

个人计算与 AI 的结合 让简单的事情保持简单,让困难的事情变得可能 前半句话 Apple. Gui 做得很好 个人计算,个人 AI,AI 助手处理后半句话,从个人计算提供的无限自由度里,找到用户需要的东西 授权

在 VR 中以形象出现

数字孪生 恶作剧 元宇宙里做实现


两者相似性

One important prompt design requirement is that all API names must be descriptive of the overall function behavior. Clear names are essential to allow the LLM to reason over functional connections between APIs and produce the desired outcome for the problem. –《ChatGPT for robotics》

个人计算,objc 太长,关注可理解性

AI 关注人类关注肚的东西,语义,可理解性

不关注优化问题,关心描述问题

让简单事情变得简单 困难时期变的可能

Depending on the context, we recommend explaining the function of APIs and if needed, breaking them down into sub-components with clear inputs and outputs, similar to code documentation.

参考


Snap 研究环境

Snap! 语义序列化

  • XML - vscode red hat 的 XML 插件
    • 理解序列化的脚本,只处理简短脚本,反向加载
1
2
3
4
go to x: 0 y: 0
for i = 1 to 4
    move 10 steps
    turn 90 degress

导出脚本

export scripts

使用 vscode red hat 的 XML 插件 format

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<script app="Snap! 8.2, https://snap.berkeley.edu" version="2">
    <script>
        <block s="gotoXY">
            <l>0</l>
            <l>0</l>
        </block>
        <block s="doFor">
            <l>i</l>
            <l>1</l>
            <l>4</l>
            <script>
                <block s="forward">
                    <l>100</l>
                </block>
                <block s="turn">
                    <l>90</l>
                </block>
            </script>
        </block>
    </script>
</script>

导入脚本

理解序列化的脚本,只处理简短脚本,反向加载

getSpriteScriptsXML loadSpriteScriptsXML bug name syn_scripts 有用

AI Assistantc

研究环境

在 Snap! 中探索使用 ChatGPT API

注意事项

Adapter 需要在命令行里启动


  • 使用 code 模型补全代码

  • syn_scripts get 有问题,没有提交自定义的积木,但提交了注释 export script this.topBlock() top.exportScript()

    scriptsOnlyXML

  • 模型使用,使用

    • https://platform.openai.com/docs/models/gpt-3-5
    • 我们最强大且最具成本效益的模型是 gpt-3.5-turbo
      • Turbo 与支持 ChatGPT 的模型系列相同
      • 在 ChatGPT 中可以很好地完成的任何用例都应该在 API 中与 Turbo 模型系列一起很好地执行。
    • OpenAI 模型是不确定的,这意味着相同的输入可以产生不同的输出。将温度设置为 0 将使输出大部分具有确定性,但可能会保留少量可变性。
  • 微调

    • 您拥有的训练示例越多越好。我们建议至少有几百个示例。一般来说,我们发现数据集大小每增加一倍都会导致模型质量线性增加。
  • 它的成功通常取决于任务的复杂性和提示的质量。一个好的经验法则是考虑如何为中学生写一个应用题来解决。一个写得很好的提示提供了足够的信息让模型知道你想要什么以及它应该如何响应。

  • prompt-design

    • 展示,而不仅仅是讲述,通常是获得良好提示的秘诀。
  • 语言之间的转换。

    • Convert this from Python to R
  • gpt-3.5-turbo Chat completions

    • 起草电子邮件或其他书面文件
    • 编写 Python 代码
    • 创建会话代理
    • 一系列科目的导师
    • 助手消息帮助存储先前的响应。它们也可以由开发人员编写,以帮助提供所需行为的示例。
    • 当用户指令引用先前的消息时,包括对话历史记录会有所帮助。在上面的示例中,用户的最后一个问题是“它在哪里播放?” 仅在有关 2020 年世界大赛的先前消息的上下文中才有意义。由于模型对过去的请求没有记忆,因此必须通过对话提供所有相关信息。如果对话不适合模型的令牌限制,则需要以某种方式缩短它。
    • 在 Python 中,可以使用 提取助手的回复response['choices'][0]['message']['content']
    • 因为令牌总数必须是低于模型的最大限制(4096 个令牌 gpt-3.5-turbo-0301)
    • 如果您的 API 调用在消息输入中使用了 10 个令牌,而您在消息输出中收到了 20 个令牌,则您需要支付 30 个令牌的费用
      • 要查看 API 调用使用了多少令牌,请检查 usageAPI 响应中的字段(例如,response[‘usage’][’total_tokens’])
    • 要在不进行 API 调用的情况下查看文本字符串中有多少标记,请使用 OpenAI 的 tiktoken Python 库
    • 如果对话中的标记过多而无法适应模型的最大限制(例如,超过 4096 个标记 gpt-3.5-turbo),您将不得不截断、省略或以其他方式缩小文本,直到它适合为止。请注意,如果从消息输入中删除一条消息,模型将失去所有关于它的知识。
    • 另请注意,很长的对话更有可能收到不完整的回复。例如,一段 gpt-3.5-turbo 长度为 4090 个令牌的对话将在仅 6 个令牌后被截断。
    • 自 2023 年 3 月 1 日起,我们会将您的 API 数据保留 30 天,但不再使用您通过 API 发送的数据来改进我们的模型。在我们的数据使用政策中了解更多信息。
  • 图像生成

    • 使用response_format参数,每个图像都可以作为 URL 或 Base64 数据返回。URL 将在一小时后过期。
    • 最大令牌数默认为生成的答案允许的最大标记数。默认情况下,模型可以返回的标记数为(4096 - 提示标记)。
    • 一个组织上传的所有文件的大小最大可达 1 GB。

todo

  • chatgpt 受限菜单
    • 解释程序
    • 编写程序
    • 帮我 Debug
    • 编写并解释算法
    • 取消
  • 教 AI 使用 turtle ,因为有充分的案例
  • 文档里对话风格
  • morph 面板 or 舞台?
    • 中英文
  • 弄懂 API
    • 是否有多段对话,服务每个客户
  • 记录技巧
    • 使用 broadcast