真 :⇔λxy.x 假 :⇔λxy.y
(λxy.x)(10)=1,(λxy.y)(10)=0,实际这是前面提到过的(λsz.z)的变体,我们用它来表示数字0。本质上这是两个互斥的函数,要么留下x要么留下y,因为是函数,所以它比具体的符号更具有普遍性。
真 :⇔λxy.x 假 :⇔λxy.y
(λxy.x)(10)=1,(λxy.y)(10)=0,实际这是前面提到过的(λsz.z)的变体,我们用它来表示数字0。本质上这是两个互斥的函数,要么留下x要么留下y,因为是函数,所以它比具体的符号更具有普遍性。
1 = λ sz.s(z)
(λsz.s(z))(ab)的结果为a(b),(λsz.s(s(z)))(ab)的结果为a(a(b)),s的个数与数字符号的个数相对应。
这个表达式有一个有趣的特性:在解析时,它会丢弃它后面的第一个表达式,而保持第二个表达式不变
也就是(λsz.z)(ab)的替换结果应该是b,因为函数体中没有出现s,所以a被过滤掉了,b被留下来了。
一个函数。
头表示通道和接口,体表示规则和公式,后面的表达式表示用以替换体中相关符号的值,这种替换被称为是应用。而头中的变量起到了关联两个表达式的重要作用。lambda代表函数的边界和起点,点代表头和体的边界,括号代表表达式的边界,所以一个完整的应用是由函数表达式和带入表达式构成。
我们可以按照常规的数学公式来理解,比如解决数学问题就是先利用一个抽象的公式对问题进行建模,比如a + b,然后通过带入具体的数值,替换公式中的符号,使问题得解。比如将1和2带入上面的公式,得到1 + 2,将普遍规律落实为具体的案例。lambda演算只不过是以更为精炼的形式化方式来描述这一过程,如(λab.a+b)(12),或者采用分步的方式,(λa.(λb.a+b))(1)(2),先带入一个数,再带入另一个数。
它所做的就是获取一行字母(或符号),然后对其执行一些剪切和粘贴操作
表示数学公式的符号
(λxy.x) a=λy.a
消元替代
ab
参数值
xy
函数体
x
参数
λ演算和图灵机做一类事情,但是没有轮子混乱你的视线
轮子是顺序执行的关键
把定理枚举
以枚举方式进行证明,就像解鸡兔同笼问题
只有一个状态
状态用于表示读写的规则,比如这里的Begin,App Inventor中的Initialized。
它可以为您生成漂亮的界面元素, 可以为您管理状态, 调用 API , 编写基本逻辑。但它不会告诉您如何将所有这些元素组合成一个可用的应用程序
也就是说,它不过是一种新的组件化开发方式,或者是更大粒度或更高层级的组件化开发方式,是继过程、对象、组件之后的另一类模块或构件或预制件级别的新型组件化或无代码开发模式,但终究还是组件化开发方式,因此需要新的适应性工具来支持制造和生产。
我们一直在将语言模型和代理部署到旨在帮助专业开发人员的工具
问题在于,这些工具只适合专业人员,而不是草根开发者,这就是问题的关键所在!
代理
核心能力是能够制定计划、访问工具和保存数据
学生们正在学习其他科目
所以要在其它学科的学习中加入一些编程要素。
推理
现在还是逻辑推理和自然语言交流
如果孩子们要编程,那么人工智能可以成为他们编程的一个有趣且开放式的领域
也就是创建人工智能或具有智能的产品或项目。所以语言和工具的目的就是开发人工智能应用。因此,所谓的建构,实际就是通过建构人工智能产品来建构自己的智能。
将应用程序分解为多个较小的独立代理,并将它们组合成一个多代理系统
以上问题存在于单智能代理应用场景: - 当多个工具调用集中于一个智能代理时,会因职责不够单一,造成目标选择偏差 - 当上下文环境因复杂执行过程变得不明晰时,造成智能代理跟踪管理方面的困难 - 当需求中涉及到多个专业领域时,单一智能代理会因多专业角色切换而造成身份认知混乱
由于尚未为其定义代码,因此它会立即陷入困境,询问程序员该怎么做
改错误提示为询问开发者意图
参数图标中输入“6”
这些“图标”都是可操作的
人们既需要典型值,也需要边界情况
例子既要覆盖典型用例,也要覆盖例外用例。
一块石头
静态只读
学校在学习符号思维时强迫孩子们放弃行动思维和图像思维技能是错误的
功能(动作或行为)思维、影像(视觉或场景)思维和概念(符号或名称)思维
让用户从固定的备选项中选择
让用户从猜测的意图列表中确认
演示编程面临的主要挑战是如何推断用户的意图
现在可以了。
但在演示编程中,系统根据录制的动作创建通用程序
根据对动作序列的观察编写程序
Provide as much details as you can in the input field, then click on "enhance prompt" button.
还是 tldraw 的过程更美
Use "Enhance prompt" button
说明提示也开始有组件和复用了
是否有可能创建一种算法来确定数学陈述的正确性
利用计算来证明定理的正确性。
第二是可能正因为这个精细,AI如果想要内化这些修正的话,需要大量的例子,最好要能覆盖各种题材和场景
样本原则:既有趋同性(风格),又有分散度(场景)。
在前面的一些尝试中也可以看到,它是有能力用我的这种风格说话的,问题的核心在我们怎么向AI表达出来这种风格到底是什么风格。
封装和抽象
与并行化的主要区别在于其灵活性 - 子任务不是预先定义的,而是由编排器根据特定输入确定
不是静态预设的,而是动态生成的。
从大量数据(包括书籍、文章和网页)中吸收知识
知识体现为掌握了一些基本概念及其含义
如果模型给出后备回答,请尝试提高温度。
重要技巧!
使用不同的措辞
不如说是不同的句型,如疑问句、祈使句等等,实际新的编程语法实际就是自然语言语法,同样的任务可以用不同的语言和语法形式来实现。
Suggest a recipe for a pie.
任务式(祈使句)
How do I bake a pie?
问答式(疑问句)
在每个词元选择步骤中,系统都会对概率最高的 top-K 词元进行采样。然后,系统会根据 top-P 进一步过滤词元,并使用温度采样选择最终的词元
参数原理或执行机制:
所以,原则上,只要 top-k 设为1,那么就把范围设定死了。而如果 top-k 设定的较大,那么可以通过 top-p 来剔除较小概率的候选词,最后,当两次过滤后,仍然有很多选项时,通过温度来决定筛选的原则和策略。
通过温度确定
温度决定选择哪一个
在应用 topP 和 topK 时会生成响应
top 决定采样策略
温度在生成响应期间用于采样
温度决定采样区间
将提示细分为简单的组成部分
分解思维
有时,让模型补全输入可能比用自然语言描述任务更容易
非常重要!因为补全是模型的本能。
如需使模型以特定格式返回大纲,您可以添加表示大纲开头的文本,并让模型根据您起头的模式补全大纲
补全是一种重要的提示方法。
模型的回答可能会与示例过拟合
过拟合的意思是过于侧重个别案例,而忽略了整体规律,也就是过于侧重差异性,而忽略了通用性。之所以太多实例会造成过拟合,原因就在于这些实例中所包含的差异会覆盖它们共通的部分,因而会使得模型无所适用,在不同的个案之前跳跃。
您可以在提示中添加指令和模型解决问题所需的信息,而不是假设模型具备所有必要信息
不要假设模型无所不知,所以要向它提供与问题或任务有关的背景知识。
大多数背景知识,实际都采用了可以直接回答问题的“正面”说明或答案方式。比如,如果问题是什么是气候变化?最直接的背景知识就是提供对气候变化的解释,比如气候变化是指什么什么等等。
于是,所谓的 RAG实际就是根据问题在数据库中寻找答案,然后将找到的答案经过加工和润色反馈给用户。
在庞大且多样化的训练集上进行训练也可以减少过拟合
所谓过拟合实际就是数据的分布过于偏向某种特定的类型,而失去了潜在的多样性可能。