FDE Times 数据在招 FDE 职位 798▼30 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 67在招公司 139支持远程 25%美国薪资中位数 $202k招聘最多 Databricks 108
ENVI

前线部署工程师(FDE)的专业媒体

技能指南 · 指南

Cresta 高级 FDE 招聘启事:每一条要求都是客户现场的一项任务

启事里的每一条要求,背后都是客户呼叫中心技术栈里的一项具体任务。要证明自己能做,最好的办法是亲手做一个小版本。

分享微博

要点速览

  • Cresta 高级 FDE(AI Agent)启事围绕四个动词展开:开发、配置、部署和优化 AI 智能体,另外要求将智能体与客户的 API、数据库和 CRM 集成。
  • Python 和 Golang 是核心要求,同时需要云和 DevOps 能力;有 LLM 和提示词工程经验者优先。
  • 简历筛选之后是在 CoderPad 上自主完成的技术测评,因此一个带真实集成的智能体项目,比任何技能清单都更有说服力。
get_open_invoice 工具的决策树。智能体以 2.5 秒超时调用计费 API。如果 API 报错或无响应,智能体返回 handoff_to_human,以强调色标出。如果 API 返回结果,智能体检查是否存在账单:有则读出金额和到期日,没有则告知客户当前没有账单。
账单查询工具的三个分支:出错时转接人工;“没有账单”和“查到账单”是两种不同的回答。2.5 秒为示意性假设。来源:文中代码示例。

打开 Cresta 于 2026 年 10 月 13 日发布、面向澳大利亚远程候选人的高级前线部署工程师(FDE,AI Agent 方向)招聘启事,看到的是一份熟悉的清单:Python、Golang、云、DevOps、LLM、项目管理。

粗看,它和其他工程岗位的启事没什么两样。细读就会发现,每一条都对应一项要在客户系统上完成的具体任务,尽管这是一个远程岗位。

这里要学的技能并不限于 Cresta,而是怎样读 FDE 招聘启事:把每一条要求翻译成它背后的工作,再为每项任务做一份小小的证据。这样做的候选人更容易通过简历筛选,进入技术测评时,也已经亲手做过一个版本的工作。

启事里的动词比名词更能说明问题

职责部分的第一句话有四个动词:在 Cresta 的平台和工具上开发、配置、部署和优化 AI 智能体。这个顺序就是一次客户项目的生命周期。不是从零做产品,而是拿一个现成的平台,让它为某一家具体的客户跑起来。

要理解“跑起来”意味着什么,得先看产品。Cresta 称自己是一个面向企业级规模、同时服务人工坐席和 AI 智能体的统一平台。

eesel AI 在 2026 年 5 月更新的一篇分析中提到,Cresta 的 AI Agent 支持语音、聊天和短信,通过基于 API 的 function calling 以及 MCP 支持与其他系统对接。

一个更早的细节更重要。早在 2021 年,Cresta 的博客就写道,产品的设计目标是与客户已在使用的呼叫中心软件集成并协同运行。所以这里的 FDE 几乎总是在别人的系统里工作,数据、限制和流程都不由自己掌控。

每一条要求都是客户现场的一项任务

下表把启事中的主要条目翻译成实际工作,并说明投递之前怎样证明每一项。

启事中的条目 客户现场的实际工作 需要准备的证据
将智能体与 API、数据库、CRM 集成 智能体要在对话中途查询账单、订单和客户记录 一个调用 API 的工具,带超时和兜底方案
Python 和 Golang 编写智能体逻辑,编写稳定运行的中间件服务 同一个服务分别用两种语言实现
云(AWS、GCP 或 Azure)和 DevOps 容器化,通过 CI/CD 发布,上线后做监控 一个包含 Dockerfile、CI 流水线和监控面板的仓库
LLM 和提示词工程(优先) 智能体在真实数据上答错时调优提示词 一套测试问题集,附修复前后的结果
设定里程碑、制定计划、内部协调 多个团队参与时按期交付 一份带里程碑和风险的部署计划

启事要求至少 3 年全职经验,方向可以是软件开发、咨询或 AI/ML 工程。三条路径同等对待,所以没做过 AI 的后端工程师也有机会,前提是能证明 Python 和 Golang 这一条,以及云和 DevOps 这一条。

示例:客户还在通话时,智能体查询账单

假设一家电信运营商希望 AI 智能体在语音渠道回答“我这个月的账单是多少?”。数据在运营商的计费系统里,不在 Cresta。你的任务是写一个智能体可以通过 function calling 调用的工具。

import requests

BILLING_URL = "https://billing.example-telco.internal"

TOOL_SPEC = {
    "name": "get_open_invoice",
    "description": "获取已验证手机号的客户的未付账单",
    "parameters": {
        "type": "object",
        "properties": {"phone": {"type": "string"}},
        "required": ["phone"],
    },
}

def get_open_invoice(phone: str) -> dict:
    try:
        r = requests.get(
            f"{BILLING_URL}/invoices",
            params={"phone": phone, "status": "open"},
            timeout=2.5,  # 通话中,长时间沉默就等于失败
        )
        r.raise_for_status()
    except requests.RequestException:
        # 客户系统出错:不要猜,转接人工
        return {"ok": False, "action": "handoff_to_human"}

    items = r.json().get("items", [])
    if not items:
        return {"ok": True, "invoice": None}
    inv = items[0]
    return {"ok": True, "amount": inv["amount"], "due": inv["due_date"]}

API 调用本身只有几行。价值在于围绕它的三个决定,面试官想听你讲清楚的也正是这些。

第一个决定是超时。聊天渠道里等五秒可以接受;通话中沉默五秒,客户会以为电话断了。这里的 2.5 秒只是示意性假设,真实项目中要先测出客户 API 的延迟再定。

第二个决定是返回 handoff_to_human,而不是让模型自由发挥。拿不到数据却照样回答的智能体,就是在编造账单金额。平台同时服务人工坐席和 AI 智能体,把电话转给真人是顺理成章的兜底。

第三个决定是区分“没有账单”和“出错”。两种情况给客户的回答完全不同,提示词必须教会智能体在每种情况下说对的话。

从示例到投递:按这个顺序做

先实现上面这个工具,对接一个自己写的模拟 API,再加十个测试问题,包括不存在的号码和卡住不响应的 API。记录调优提示词前后智能体答对了几个。这就是 LLM 和提示词工程这一条的证据,启事明确将其列为优先项。

然后用 Go 重写模拟计费服务。启事同时要求 Python 和 Golang,一个用两种语言实现同一服务的仓库,正好直接回应这一条。把它容器化,加一条运行测试的 CI 流水线,再接入一个延迟指标:这三样完整覆盖了云和 DevOps 这一条。

最后,为这家运营商写一页假想的部署计划:有哪些里程碑,客户的哪些团队需要开放 API 权限,哪些风险可能导致延期。启事要求 FDE 自己设定里程碑、规划部署,并与内部团队协调以按期交付,这份计划就是这一条的直接证据。

CoderPad 环节与常见错误

根据启事,通过简历筛选的候选人要在 CoderPad 上自主完成一项技术测评。简历是第一道关,因此应当描述做过的工作,而不是罗列技术。

一个简单的模板:“通过 API Y 将智能体与客户系统 X 集成,使 Z 降低”,其中 Z 是你实际测得的数字。

第一个错误,是在技能栏写上“LLM、RAG、智能体”,却没有测试集佐证。第二个,是以为 FDE 要替换客户的系统,而 Cresta 自己就说产品是为了与现有呼叫中心软件协同运行而设计的。第三个,是以为 AI 只需要 Python,于是跳过 Go。

Cresta 的另一份启事展示了这条路的下一步:2026 年 1 月发布、面向美国远程候选人的前线部署工程经理岗位,要求至少 2 年管理、指导和培养工程团队的经验,并愿意有 10-25% 的时间出差拜访客户、参加活动。

今天练习的规划和协调能力,就是迈出那一步的基础。

会读招聘启事的人,不数自己命中了多少关键词。他们问的是:这项工作我给谁做过吗?如果还没有,就在这个周末做一个小版本。

这篇文章对你有帮助吗?

4 个信源
路线图上的下一篇 · 阶段 7: 项目主导C3 AI 的 FDE:读懂四份同名招聘启事,把简历投给对的那一份四份招聘启事用的是同一个职位名称,但国籍、安全许可或工作年限这几条,可能在别人读到你的编程技能之前就把你筛掉了。