claudecode博客阅读笔记

agent开发时的准则

简单,可组合模式,在使用llm进行软件开发的过程中,越简单越好,必要时甚至可以不同构建相应的agent系统。

什么是agent,与工作流的区别是什么

agent = LLM + 工具;
工作流:将llm与工具按照预定的路径进行编排,一步衔接一步,有着既定的行动准则(灵活性差,llm按照规章制度执行任务)
agent 系统:llm自动决定工具的调用以及执行流程(灵活性高,llm自主决策,自主选择工具)

什么时候选择使用agent

根据具体业务来制定,如果业务流程清洗且目标明确,并且执行流程固定比如代码规范检查,数据清洗以及客服审查这类任务,采用工作流的方式就可以很好的执行
当业务流程没有明确的流程并且需要执行过程中进行动态决策以及规划的开放性任务,采用agent可以充分的探索可行性
总结就是如果单词对话就能解决比如用户对某一函数执行的业务逻辑不清晰,可以采用llm模型+单词prompt就能解答
当任务流程固定且目标清晰,就可以采用工作流的方式进行
当任务流程不确定,需要多次探索,并且在探索过程中进行动态决策的就可以采用agent进行解决。也就是软件开发中说的不能进行过度设计。
图片
增强型:llm直接利用提供的检索,召回,读写工具进行任务的执行(单次调用)
图片
提示链:目标任务可以被分解为一个个确定的子任务(顺序调用执行)
图片
路由:目标任务具有不同的类型,针对不同类型划分后单独处理可得到更优结果(用户查询,退款请求,技术支持)
图片
工作流:并行化处理子任务,通过多视角尝试获取更优结果,避免模型偏好
图片
编排器工作:无法预测所需子任务的复杂程度,调用主agent进行编排,主agent再调用其余agent进行子任务执行并返回执行结果
图片
评估器-优化器:一个agent负责生成响应,另一个根据响应进行评估和反馈,适用于具备明确评估标准以及迭代优化可以提供衡量指标的任务。
图片
代理模式:适用于开发问题,对于无法预测所需步骤和数量以及固定路径的任务进行探索

导航