除 FastAPI 的 GET、POST 接口外,实现完整 Coding Agent 体系还需要哪些能力?

考查重点:执行闭环与工作区反馈。补模型—工具循环、代码检索、受控命令与文件工具、工作区状态和测试反馈;HTTP 接口只承接请求入口

本题目录

参考答案

核心回答

FastAPI的GET、POST解决的是服务入口与请求响应,完整Coding Agent还需要模型运行循环、代码上下文、受控工具、工作区与任务状态、验证反馈,以及可持续交互。用户提交需求后,系统应能定位代码、执行必要修改、运行检查、根据失败继续修复,并交付diff和验证结果。

可以把HTTP层看成入口,Agent Runtime负责推进任务,工具执行环境负责实际动作,状态与事件层负责恢复和展示。多写几个接口,不会自然获得代码理解、可靠执行或任务完成判断。

编码执行闭环包括什么

上下文层读取仓库规范、目录、相关符号、接口与测试,按任务选择内容;模型循环决定下一步,解析工具调用并接收结果。工具提供搜索、读写文件、终端、测试与必要的外部能力。

工作区管理记录当前代码版本和已有改动,增量编辑前确认目标仍匹配,避免覆盖用户工作。执行层处理路径、命令、网络和凭证范围,设置超时、输出上限与资源预算。模型生成的是动作提案,真正的修改与命令由执行器完成。

验证层把类型检查、针对性测试、构建或实际界面结果反馈给Agent;任务规模不同,所需检查也不同。完成判断同时查看需求覆盖与实际产物,不能仅因生成了一段代码或某命令退出成功就结束。

长任务如何与前端协作

任务可能比一次HTTP连接更久,接口可以返回task_id,由SSE或WebSocket推送文本、工具进度、错误、需要输入和最终状态。事件记录序号,断线重连继续观察已有任务,不能无条件重新执行。

服务端保存会话、运行状态、工具轨迹和产物引用;取消要传到运行中的任务与子进程,处理已发生的副作用和迟到结果。持久化恢复还要保存工作区与外部产物,只有聊天文本不足以恢复编码任务。

怎样逐步落地

第一版可以做一个用户、一个工作区、有限读写与测试工具,先跑通“读代码—修改—检查—反馈”闭环。服务多人后再补身份隔离、队列、并发预算、分布式状态和审计;需求确实需要时再引入复杂规划或多Agent。

深度研搜教程中的HTTP启动、后台执行和WebSocket进度是服务闭环参照;要变成Coding Agent,还需替换业务工具与工作区能力,不能把研搜接口本身称作完整编码系统。

对应教程

参考资料

  • 国内:JavaGuide:Harness Engineering:采用模型之外的工具、环境、状态与验证职责的划分,组织正文对 HTTP 入口以外所需能力的说明。
  • 国内:WeThinkIn:编码Agent运行架构:借鉴编码 Agent 的会话、上下文、运行循环、权限和观测分层,说明正文中服务入口、运行时与执行环境的分工。
  • 国内:zero2Agent:Coding Agent完整执行链:参考从任务输入到增量编辑、验证反馈的执行链路,组织正文中的编码闭环及完成条件。
  • 国外:Anthropic:How Claude Code works:借鉴实际编码产品的工具与反馈循环,说明正文中代码搜索、文件编辑、终端和验证工具如何衔接。
  • 国外:LangChain:Deep Agents overview:参考文件系统、上下文和中断能力的划分,补充正文对工作区、长任务状态及恢复所需信息的说明。

相关面经

3 篇

百度

Java 开发工程师(智能客服)
实习二面
查看原面经 →
Claude或者 OpenClaw 具体应该怎么实现?你有去看过吗?

佰聆数据

AI 应用开发工程师
实习一面
查看原面经 →
你说FastAPI,get获取接口信息 post传输,那如果要实现Claude Code的全套体系,还需要什么内容?

阿里巴巴

Java 开发工程师
一面
查看原面经 →
觉得 Claude 好在哪里(从模型本身和 agent 设计两个方面)?对它的 agent 整个运行原理了解吗?

收录题集

2 个来源,共2 份题集

编码Agent与AgentOS工程

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

AI 代码分析与测试:覆盖率、插桩、代码过滤

Onefly · zero2Agent · 1 条原题

查看题集 →

相关题目

4 题