手搓认知智能体(0)

32 阅读3分钟

人生总是充斥着各种选择,小时候我们选学校,毕业了选工作,然后选伴侣,死之前还得选棺材。不同的选择会带来不同的人生,我们都希望一个更美好的生活,所以在选择之前就会思考,这个时候选择就变成了决策。我们调动过去的记忆、经验甚至推测各种后果只求能在选择后得到一个自认为对的、好的结果。尽管结果可能是不好的,但是这次的结果会作为下次思考的助力,所以它是动态,具有学习能力。

但很可惜的是选择不意味着行动,当我选择写一篇博客来输出想法的时候,对我来说最困难的就是打开文档编辑器写下标题这个动作。

知行合一

知行合一说的是脑子想的东西要和行动一致,但是很多时候我们的知和行会分别出现问题,甚至同时出现问题。

知的问题在于我们的思考方式,决策的时候需要消耗更多的认知资源,但是注意力是有限的,我们更多倾向于直觉判断,所以更容易出错。

行的问题在于我们在考虑有助于长期对提升有帮助的事情比如学习时,尽管列出了详细的计划,但依然迈不开第一步,这是因为行动的动力来自于多巴胺,但是多巴胺的奖赏机制又分即时的和长期的,都在追求多巴胺,但总会控制不住地选择可以带来即时满足的短视频和性行为。

认知代理设计逻辑

代理没有人类因进化原因出现的认知偏差,并且llm具备了广泛的知识,加上多模态的感知能力以及工具调用的行动能力,所以我们只需要关注代理的决策能力。一个好的代理其实就是人的延伸。

认知代理的核心能力:

  • 感知:

    • 对输入数据的感知,不仅是接受数据,还得理解数据。例如识别图像中的物体、理解语音指令
  • 推理:

    • 能够根据已有的知识和规则进行逻辑推理。

    • 推理不仅是简单的”如果-那么”规则,还包括复杂问题求解(如规划路径)

  • 学习

    • 就像人能知错就改一样,代理也应该能学习到过去的经验。
  • 记忆:

    • 短期和长期记忆能力。短期记忆用于处理当前任务,长期记忆用于存储知识和经验。
  • 决策:

    • 根据感知、推理和学习的结果做出决策,自主性决策是最重要的能力,它不仅选择最优方案,还包括权衡利弊以及处理不确定性。

用到的工具和库

尽管是手搓,但还是会用到一些基础的工具库:

Ollama

支持本地运行大模型

LiteLLM

Litellm提供一个统一的llm交互接口,方便轻松切换

Chainlit

基于React的高级框架,我们用它创建聊天机器人的ui界面