1.harness技术的层次是什么样的?
harness是LLM外面马具,从层次上看,第一层是编排和控制,第二层工具调用,会参数判断、重试,第三层是上下文和记忆管理,第四层是状态和持久化,第五层是对输入输出的校验,确保可靠。
总结:这里的第四层的作用比如长任务,通过保存中间状态和相关信息,避免如果一次失败就重新开始。
2.AItools架构上是怎么实现的?
首先是模型按照schema格输出表示调用工具的意图,agent harness去校验参数,判断执行权限,超时重试,结果要返回给LLM作为分析
总结:模型不是真的去调用工具,调用工具是确定性的,由框架去做
3.prompt engineering、context engineering、skill engineering、harness engineering、loop engineering五种不同的范式背景和解决问题是什么?
prompt 是提供如输出,如何提问的问题,解决的模型不知道怎么完成任务;
context engineering是提供背景知识,解决的是模型不知道历史信息和相关知识的问题;
skill是提供可以复用的工作流程和专业经验,解决的是反复叙述工作方法的问题;
harnessengineering是构建模型周围的执行和约束环境解决的是模型执不可靠的问题;
loop engineering通过反复迭代直至完成,解决的是模型执行失败不能自我纠正的问题。
总结:harness解决的是模型不可靠问题,不管是编排和控制、工具调用、上下文和记忆管理、状态和持久化、输入输出校验都是这些。
4.在agent各个环节对随机性的容忍度是多少,如何解决?
从意图理解、任务规划、工具选择、参数校验和权限判断、工具执行、结果观察、最终输出几个角度去考虑
意图理解和任务规划对随机性容忍度较高,任务规划对抗随机性确保任务规不要过于复杂,工具选择容忍度较低,只能是注册时有的工具,参数校验和权限判断对随机性容忍很低,因为必须确定性调用,工具执行对容忍度较低,如果错误需要重试,或者让模型重新生成参数,在结果观察有一定容忍度,但是要确保结果是有可靠信息来源,最终输出要确保是建立在实时的基础上,由人去确认。
总结,在理解这些都是和刚刚说的harness关联起来的,比如任务规划和工具选择是agentharness编排和控制的事情,对于可靠性和最终输出,这些是刚刚的输入输出的可靠性保证的问题。
5.Agent的应用场景有哪些
如果是简单的回答问题,摘要,总结,使用LLM
如果是固定的流程,排查代码问题,可以使用预先编写的流程,workflow
如果是有一定随机性的任务,排查代码,探索仓库,agent
如果有并行进行的复杂研究,代码审查,使用多agent
总结:这里主要是对于agent的应用场景是有随机性的,排查代码问题就是有随机性的。
总结:感觉harness是一个非常高频的面经的问题,我个人因为不是纯agent所以被问到最多是可靠性保证,是skill和mcp的区别这些,比如被问过skill和mcp都是10个哪个耗费token多。