DevPilot:确定性研发协作 Agent 的审批边界与面试追问
DevPilot:确定性研发协作 Agent
DevPilot 基于 MIT 开源课程项目 however-yir/tianji-ai-agent 做差异化二次开发。上游给出了 Agent 路由、工具与流式链路的设计参考;个人增量是把场景收敛到研发协作、实现本地 Markdown 词项检索、研发工具、审批与独立启动链路。介绍这个项目时应明确二次开发来源。
当前实现
AgentRouter用规则把输入路由到代码问答、项目总结、Issue 草稿、任务计划或人工接管五类场景,不调用外部大模型。ToolRegistry区分只读与高风险工具。沙箱写文件、白名单命令执行需要人工审批;审批绑定运行、工具与参数摘要,并单次消费。RunStore保存路由、工具决策与结果的审计事件;REST、SSE 和/mcp的tools/list、tools/call教学子集可访问主链路。- 知识检索只对本地 Markdown 做词项匹配。返回的摘录是文档开头片段,不能称作命中段落级引用。
贴项目的追问
为什么规则路由? 便于复现与断言测试,但覆盖不到同义表达;应展示一条命中规则和一条落入兜底的输入。
审批防住了什么? 审批绑定 runId、工具名与规范化参数摘要;状态只允许消费一次。要解释参数变动和并发消费的处理,也要承认内存状态在重启后丢失。
路径沙箱有没有边界? 需要逐项检查规范化路径、符号链接与执行时状态;不要仅凭前缀比较就宣称生产级隔离。
MCP 兼容到什么程度? 当前仅实现 tools/list 和 tools/call 的教学子集,没有完整初始化、能力协商与标准传输层。
“RAG”指什么? 是本地关键词检索拼接,不含 Embedding、向量数据库或外部模型生成;没有文档级权限体系。
DevPilot 是可离线演示的教学级项目,没有鉴权、持久化审批状态或生产部署证据;测试数量以实际运行记录为准,不使用静态徽章作为测试证明。
DevPilot:确定性研发协作 Agent 的审批边界与面试追问
https://whyalwaysme.lol/projects/devpilot/