Temporal 面试速查
1. 先给定位
Temporal 在这个项目里是工程编排层,不是论文核心创新。如果面试官不问,可以不主动讲。被问到时,重点说它解决长任务、状态追踪、timeout 和 retry,不要展开太深。
比较稳的一句话:
GitHub 侧收到请求后不会直接跑 Agent,而是把任务交给后端执行服务;后端通过 Temporal worker 执行长时间 workflow。Temporal 主要负责任务状态、超时、失败记录和 retry。
2. 最小概念
Workflow:长流程,比如一次安全审查从输入准备到 Agent 执行、产物落盘、结果返回。
Activity:workflow 里的具体执行单元,比如拉起某个 runner 步骤、执行阶段任务、处理 artifact。activity 可以配置 timeout、retry,也更适合包住外部 I/O。
Worker:真正跑 workflow/activity 代码的进程。它监听 task queue,从 Temporal server 拿任务来执行。
Task queue:任务队列名字,用来把某类任务路由给对应 worker。
Retry / timeout:让长任务失败时有明确状态和边界,不至于 webhook 请求挂死,也方便查询和重试。
3. 项目里怎么串
可以按这个顺序讲:
- GitHub App 接到 webhook 或 dispatch。
- GitHub 集成层物化仓库 workspace,准备审查输入。
- GitHub 集成层调用后端执行服务。
- 后端执行服务提交 Temporal workflow。
- Worker 执行 workflow,workflow 再调具体 activity 或 Agent 阶段逻辑。
- 产物落盘后,GitHub 集成层或 publisher 查询状态并发布结果、评论或可提交的修复草稿。
4. 被追问时怎么答
Q:为什么不用普通队列?
普通队列也能做一部分,比如异步触发和后台消费。但 Temporal 更适合长流程,因为它天然保留 workflow 状态、超时、失败和重试语义。这个项目里安全审查不是一个短任务,中间还有多个阶段和 artifact,所以用 workflow 语义更贴近问题。
Q:Temporal 是不是你的核心贡献?
不是。我会把它说成工程运行载体。核心贡献还是 Agent workflow 的阶段拆分、证据流、修复/验证闭环和评测。Temporal 的作用是让这条链路能稳定地跑在 GitHub 集成层后面。
Q:你熟 Temporal 到什么程度?
我熟项目里用到的边界:workflow、activity、worker、task queue、timeout、状态查询,以及为什么要把长任务从 webhook 里解耦出来。Temporal 更底层的 server 内部组件不是这个项目的重点,我不会主动展开。
5. 不要说太满
- 不要说“Temporal 保证任务一定成功”。它保证的是可追踪的执行、超时、重试和状态,不保证 Agent 结果正确。
- 不要把 Temporal 包装成论文创新点。
- 不要主动讲 Temporal 内部架构,除非你真的准备了。
- 不要说这套就是生产级部署方案;本项目链路跑通过,但生产化还要补隔离、监控、权限和成本治理。