我们都知道诊断协议栈分为静态代码部分和配置部分。对于配置部分,我们可以利用大模型进行配置。对于这个想法,开发一个agent来为我们工作是一个非常不错的想法。
Agent的主流架构
当前agent工程的架构主要需要以下几个部分协同工作从而完成一套复杂的任务:LLM,prompt,tools, memory system和knowledge sytem等。从心理学的角度来讲,这些属于大脑的不同功能,LLM属于决策功能,prompt是当前大脑需要解决的问题,tools是执行器(类似于我们的手和脚),memory system是记忆系统,knowledge system是知识库部分,其中记忆系统还分为工作记忆,短期记忆和长期记忆,对于更复杂的任何还需要有planning等功能,以上这一系列功能在解决问题的不同阶段,协同工作从而解决复杂任务。除此之外,这些功能还需要形成闭环,从能够不断地迭代直至任务完成。
协议栈配置Agent
当前我们为了简化设计去掉了memory system和knowledge sytem功能,只保留了tools、prompt和LLM的请求。当前Agent的设计目标是将诊断问卷作为输入,最终得到一个commit点。根据这个设计目标我们先将工作流拆分为以下几个部分:1.调用需求提取tool(extractor.py),将诊断问卷的excel提取成json文件格式;2.调用代码生成tool(generate_code.py),生成dfraft代码;3.调用需求实施tool(requirements_implementation.py)修改代码;4. 调用编译专家tool(webui_client.py)编译并且解决编译问题。
