@
tetora 现在的 agent 的思考、推理、规划、工具调用等等都是通过人类的语言进行的,本质上就是不承认大模型是有能力边界的。
比如工具调用,实现的原理是这样的:
1 、在系统提示词增加:请使用 get_weather("city_name")查询天气。
2 、当用户问:北京的天气?
3 、大模型返回:get_weather("北京")
4 、agent 查询天气函数,返回:晴天。
5 、大模型返回:北京是晴天。
=======
类似的,其他大模型能力也都是基于人类的语言来实现的。这就带来很大的问题,因为人类语言发明出来是给人用的,不是给计算机用的,就会导致生成的结果是不准确,不能类似程序可以 debug 。
使用领域语言,就可以实现:
1 、大模型返回的是精确的结果;
2 、提示词的长度更小;
3 、大模型的结果是可以验证的,符合语法规范的;
4 、agent 的技能可以进行版本管理的;
5 、生成的结果更容易被人类验证、修改,从而每个用户的问答都可以用来进一步训练大模型;
6 、实现大模型的“自我学习”,可以让他自己根据领域语言编写各种“答案”,然后自己验证、优化;
7 、以上提升,不是仅仅在工具调用上,而是在思考、规划、推理、计算等能力上都可以得到优化和提升;
=====
总之:
就是将大模型的推理、计算、规划等过程,不再直接使用自然语言输出,而是使用专用的领域语言增加一个抽象层,大模型将推理过程、计算机过程、规划过程全面的符号化,再由专门的工具进行计算、执行。