| ▲ | ttoze 7 hours ago | |
We’ve been taking a different path to this author, albeit to solve a similar problem. Rather than thinking agents diminish the value of code ownership, we think it stays level or potentially increases. To that end, teams are responsible for managing the agent model, harness, instructions, local skills or other config for their areas. When work needs to be done across areas we allow it, but via an orchestration layer where agents operate via adversarial negotiation, with escalations and explanations to engineers when decisions are hard to make. We find giving the agents independent remits makes them significantly better at challenging problematic requirements, because they aren’t all automatically aligned on the same goals. The agents from each area then having queues and messaging subsystems to coordinate their work when there are multiple streams happening, although concurrency is less of an issue than we expected. Generally will detect and flag competing requirements, which has saved us from some subtle issues. We don’t always require code owners to review every PR in their area, but they do at least always have a log of what work was done and why, which is separate from the noise of the parent work. This does all work out a bit slower than just letting each agent get on with its job, but it’s working pretty well for us. | ||