这道题其实是在问,当我们说一个[[Agent]]能力很强的时候,到底在评估哪些方面。我觉得本质上是看它能不能完成一个闭环:获取信息、处理信息、然后执行动作。对应到题目里的三个词,就是search、coding和GUI操作。
先说coding。这不仅仅是写代码,更核心的是工具构建和自动化执行的能力。比如一个数据分析Agent,你给它一个Excel文件,让它做清洗、统计、画图,它需要能自己写Python脚本并执行。再比如Devin那种编程Agent,能端到端把需求变成代码。实际落地中,coding能力强的Agent可以调用API、操作数据库、甚至通过代码控制浏览器。但这里有个前提:它必须理解代码执行的环境和结果,否则容易跑飞。
再说GUI操作。这个和coding是互补的。coding适合那些有API、有结构化接口的场景,但很多业务系统根本没有API,比如老旧的ERP系统,或者手机上的App。这时候就需要Agent像人一样操作界面,模拟点击、输入、导航。举个例子,一个客服Agent要帮用户查订单状态,如果订单系统只提供网页版,没有开放接口,那Agent就得自己去登录、输入订单号、读取结果。这就是GUI操作的价值。但它的难点也很明显:视觉理解不准、界面变化快、精确控制难,所以上线前我会特别关注异常处理,比如页面加载超时、弹窗遮挡,这些很容易导致流程中断。
最后是search。这个能力解决了大模型的一个根本问题:知识是静态的,有截止日期,而且会[[幻觉]]。search让Agent能主动获取实时、准确的外部知识。比如一个金融Agent要生成研报,它必须去查最新的股价、新闻、财报,而不是靠模型背出来的数据。再比如企业内部的知识库问答,Agent需要从海量文档里检索出相关段落,然后才能回答。实际应用中,search往往和[[RAG]]结合,但有个常见失败场景:检索到的信息质量不高,或者被噪声干扰,导致Agent答非所问。所以我会特别关注检索的精度和去重。
这三种能力不是孤立使用的,真正落地时往往要组合。比如一个智能客服Agent,用户问“帮我查一下上周的订单”,它先通过search找到订单数据,再用coding调用API或脚本处理数据,最后通过GUI操作在系统里展示结果。但难点在于三者之间的协调和错误传递,比如search找到的数据格式不对,coding就会报错,进而导致GUI操作失败。所以我更倾向于把coding和GUI操作看作一个整体,search作为数据供给层,这样设计架构会更清晰。
总的来说,这三类能力对应了Agent的构建、交互和认知三个维度。目前coding相对成熟,GUI操作最难,search是基础。面试官如果感兴趣,可以深入聊聊search和coding之间的边界,比如什么时候用search获取信息,什么时候用coding生成信息。