Technical note
认识HiveFlow:从一句反馈到有证据的交付
让Agent修改一段代码,已经是很常见的用法。更麻烦的事情往往发生在代码之外:用户在群里说了一句“导出的数据不全”,有人调查,有人建了Issue,负责人回复“这个要修”,开发工具又在另一段对话里开始工作。几天以后,代码可能已经合并,最初反馈的人却还不知道问题有没有解决。
这些环节单独看都不复杂,接起来却很容易丢东西。调查结论留在聊天里,开工范围没有说清,部署状态跟不上代码,换一个Agent以后又要从头解释。
HiveFlow就是从蜂巢的这类协作问题中形成的。它把反馈、决定、研发和结果通知连起来,让后一个参与者能查到前面发生了什么,也让负责人知道一件事究竟完成到了哪里。
从开发会话走到用户反馈
之前的用GitHub让ChatGPT与Codex接力开发讨论过,怎样把分析、实现和审阅交给不同工具,再通过仓库交接。HiveFlow把视线往前后各移了一步:开发任务从哪里来,做完以后又回到哪里?
用户通常不会直接给出一个合格的开发任务。他会描述遇到的现象,可能缺少操作步骤,也可能把产品原有行为当成了缺陷。反馈需要先调查,值得修改时再登记,负责人确认方向以后才进入研发。交付以后,还要把结果带回最初的反馈者。
在蜂巢的来源实例中,云端协调助手dots负责调查和登记,GitHub Issue负责交接,本地Codex承接研发。负责人在文档中称为Director,负责产品取舍、授权和最终结果。它们之间需要传递的是准确事项、已知事实和下一步范围,不能只留一句“你接着做”。
HiveFlow复用这些现有工具,提供协作规则、介绍手册和离线参考工具。项目材料可以在公开仓库中阅读。
“值得做”和“现在可以做”分开回答
假设用户报告“导出只有第一页”。这是一个说明流程的例子,不对应真实故障。
协调方先确认用户用了哪个入口、预期导出多少数据、实际得到多少,再查看相关说明和代码。如果这个入口原本只导出当前页,解释清楚可能就结束了;如果产品承诺导出全部结果,调查才有了继续查缺陷的方向。
证据足够后,可以在已有权限内查重、登记Issue,保留原反馈来源。负责人再决定是否采纳。到了这里,回答的是“这个问题值得处理吗”,还需要明确由谁实施、改到什么程度、在哪个环境验收。
同一句“这个要修”,可能表示列入计划,也可能表示现在开始。把这两层意思混在一起,Agent就容易把优先级判断理解成所有后续操作都已经获准。
HiveFlow要求实施授权能够核验。负责人可以直接发起一项具体任务,也可以预先批准有范围和停止条件的自动化配置。Issue已经创建、标签变成已采纳,都不能单独代替这份授权。
范围说清以后,开发、检查和修正就应连续推进,不必每做一步都回来问一次。只有遇到新的重要取舍或超出授权的操作,才需要负责人再次判断。
怎样启动,与做到哪里,是两次选择
HiveFlow把研发的启动方式和交付终点分开。手动发起可以要求完整交付,定时任务也可以只做到PR待审。
| 启动方式 | PR待审 | 完整交付 |
|---|---|---|
| 手动发起 | 负责人指定事项,Agent开发、检查并提交PR,等待后续决定 | 负责人明确目标和范围后,Agent推进到约定交付 |
| 原生定时任务 | 在有效配置中选单,完成PR后仍然等待审阅与后续处理 | 在有效配置中选单,按授权完成必要审阅、合并、部署和验收 |
PR是供审阅和合并的变更请求。选择PR待审,就表示把可检查的修改交出来;选择完整交付,则要完成约定环境中的实际交付。后者仍然需要规定的评审和验收,只是已有授权覆盖的正常步骤可以连续执行。
定时任务也需要先说清允许处理哪个仓库、哪些事项、有效时间、数量和停止条件。配置保存成功,只能说明配置存在;能不能开始,还要核验授权、实际启用状态和事项是否符合条件。
这也给逐步采用留了余地:可以先手动处理一项明确问题,把交接和验收走通,再考虑减少重复发起任务的工作。
最容易漏掉的是最后一段
回到导出的例子。修复完成后,测试通过说明检查覆盖的行为符合预期,PR合并说明修改进入了代码分支,部署成功说明某个环境使用了相应版本。用户真正关心的还是:原来的导出操作,现在能得到全部结果了吗?
这些事实要分别留下。只报告“已合并”,用户仍然不知道哪个环境可以使用;只报告“部署成功”,也没有回答原问题是否得到验证。
验收之后,还要沿可靠的来源关联回传结果,让最初反馈的人知道改了什么、在哪里可用、还有哪些限制。反馈在群里提出,最终结果就不能只停留在开发会话中。
但通知状态也要单独判断。代码已经交付,群消息没有发成功,应该继续处理通知。不能因为通知失败,就把同一个开发任务再做一遍。平台已经受理消息,也不能直接写成用户已经读到。
中断之后,先查已经发生了什么
长任务难免遇到断线、工具超时或者会话切换。请求没有返回,并不能说明动作没有发生。Issue可能已经创建,PR可能已经合并,消息也可能已经发出。
HiveFlow强调先核实原动作,再决定下一步。接棒时需要知道准确事项、当前候选提交、已经做过的检查、已有外部结果,以及仍然有效的授权。已完成的部分继续复用,未知的部分先调查。
例如,部署请求超时后,应先查目标环境实际运行的版本;收到重复的完成事件时,应先查这次交付是否已有通知记录。这样才能从中断处继续,而不是换一个会话重新执行。
规范、合成演练和真实运行分别能证明不同的事情。离线检查通过,可以说明所覆盖的格式和状态处理符合预期;真实账号能否操作、消息能否送达、重启以后能否恢复,仍然需要对应环境的证据。
和ACDL怎样配合
ACDL关注人和Agent怎样共同完成软件研发:需求为什么要改、设计怎样确认、实现怎样验证,以及怎样形成版本。HiveFlow关注反馈怎样进入研发,决定怎样传递,交付结果怎样回到原来源。
同一个导出缺陷,HiveFlow负责调查、登记、关联采纳与授权、交接研发和回传结果;进入实现以后,需求、设计、测试、独立评审和环境操作仍然遵守项目自身的工程规则。
小问题也可以有很短的路径。咨询解释清楚就结束,文案修改按实际风险检查,不需要为了一张完整流程图给每件事补齐所有文档。需要长期保存的是后面继续工作仍然用得上的事实。
想继续了解,可以从HiveFlow官网与介绍手册开始,再到公开仓库查看规则和离线工具。公开材料提供采用方法;具体项目是否已经启用自动执行、哪些路径经过真实验证,需要查该项目有日期的配置和运行记录。