Saltar para o conteúdo
Manuel García-Llera Añón / Product Designer · Design EngineerContacto

Caso de estudo

Coordination Hub

Um espaço para coordenar o trabalho com várias IAs e compreender o que cada uma propôs, o que foi revisto e que decisão me cabe tomar.

Comecei-o para resolver um problema no meu próprio trabalho: ao alternar entre IAs, perdia contexto e tinha de reconstruir decisões. O Hub, cuja interface experimental se chama Testigo, reúne projetos, conversas e memória revista. O meu objetivo é acompanhar o trabalho sem confundir uma proposta com um resultado verificado.

Experimental

Contexto
Produto independente · infraestrutura de trabalho construída durante a utilização
Contributo
Direção de produto, arquitetura de decisão e definição dos contratos de supervisão entre humanos e IA
Tecnologias
Node.jsMCPJSONLZodClaudeOpenAI/Codex
Ano
2026
Piloto
produto independente em desenvolvimento
L0–L3
autonomia com autoridade humana
MCP
coordenação entre sessões separadas

Colaboração: Trabalhei com Claude e Codex na implementação e revisão do sistema. Mantenho a responsabilidade pela direção de produto, pelos critérios de aceitação e pelas decisões que exigem autorização.

Interface real com dados de demonstração. Estas capturas vêm do desenvolvimento de Testigo e não contêm conversas de trabalho nem informação da LALIGA. Os fornecedores aparecem desligados nesta sessão isolada; os ecrãs demonstram o design da supervisão, não uma execução autónoma em curso.

O projeto, camada a camada

Pequenas decisões constroem o sistema.

01 / 031. Acompanhar uma conversa

Organizo o contexto por projeto e conversa. Cada contributo conserva o seu autor, e posso verificar a disponibilidade das ferramentas sem sair do espaço de trabalho. Interface real com dados de demonstração.

02 / 032. Rever o que fica guardado

A memória distingue material recebido de conhecimento revisto. Quero que seja possível inspecionar e rever a informação reutilizada, em vez de assumir que tudo o que foi escrito é válido. Interface real com dados de demonstração.

03 / 033. Preparar outro projeto

Criar um espaço de trabalho separado torna explícita a fronteira de cada projeto. Faz parte da experiência de entrada que continuo a testar para reduzir a configuração e evitar a mistura de contextos. Interface real com dados de demonstração.

Investigação

O problema surgiu enquanto trabalhava. Copiava respostas entre assistentes, repetia contexto e gastava tempo a verificar o que realmente tinha sido feito. Queria separar três coisas frequentemente confundidas: o pedido, a proposta e a evidência do resultado.

Defini níveis de autonomia para que uma recomendação não se transformasse, por si só, em autorização. L0 permite observar; L1 e L2 limitam ações de acordo com o seu âmbito; L3 reserva as decisões de maior impacto para uma pessoa.

Métodos:Avaliação do custo real da mediação humana · Comparação com frameworks existentes e decisão de construir uma solução à medida · Modelo de autonomia L0–L3, com L3 reservado a uma pessoa · Critérios de sucesso mensuráveis antes de escrever código.

Protótipo

Organizei a interface em torno de uma tarefa concreta: compreender o que precisa da minha atenção. O contexto fica à esquerda, a conversa ao centro e o estado das ferramentas à direita. A memória é consultada quando necessário, em vez de ocupar permanentemente o espaço de leitura.

O registo de eventos preserva o rasto operacional. As vistas construídas sobre ele permitem ler uma conversa e rever as suas decisões sem percorrer todo o registo técnico.

IA no processo

Neste projeto, uso IA para construir uma ferramenta que também deve ajudar-me a supervisioná-la. Alterno implementação e revisão com Claude e Codex, confrontando as suas conclusões com o código e os testes. Duas respostas coincidentes não me bastam para considerar algo validado.

Ferramenta
Claude · Codex, coordenados entre si através do próprio Hub
Fase
O ciclo completo: especificação, implementação, revisão cruzada e verificação
Contributo humano
Problema, critérios de aceitação, arquitetura de decisão, prioridades e cada aprovação irreversível
Resultado da IA
Implementação, testes e revisões independentes com conclusões priorizadas e evidências
Critérios de seleção
Evidências verificáveis, reversibilidade, isolamento de projetos, ausência de segredos e testes aprovados
Limites identificados
Nenhuma IA amplia as próprias permissões, resolve uma decisão irreversível ou declara consenso sem revisão independente
Decisão final
Autoridade humana sobre tudo o que é irreversível. As IAs decidem ações reversíveis e deixam rasto

Desenvolvimento

O Hub disponibiliza operações através de MCP para ler mensagens, registar respostas e fornecer evidências a partir de ferramentas compatíveis. O contrato distingue envio, receção, processamento e verificação: são estados diferentes, e quero que a interface os trate dessa forma.

Concentrei-me na recuperação, nas novas tentativas e na separação entre projetos. São situações pouco vistosas, mas essenciais para que uma ferramenta de coordenação não acrescente mais incerteza do que aquela que resolve.

Validação

Uma revisão revelou um problema esclarecedor: um tema podia ser encerrado como consenso sem verificar a existência de uma revisão independente. Corrigimos o contrato para exigir essa revisão e conservar as evidências. Esta descoberta mudou o meu critério de design: um estado positivo precisa de explicar em que se apoia.

A versão inicial documentava 95 testes automatizados. É uma evidência histórica do desenvolvimento, não uma garantia de que o produto atual está concluído. O Hub continua em piloto, e a facilidade de utilização ainda precisa de ser avaliada com pessoas; uma captura de ecrã ou um teste de código não substitui essa validação.

Do protótipo ao componente

Organização do sistema

  • fundamentos / níveis de autonomia · estados de disponibilidade · classes de visibilidade
  • organismos / fila de atenção · cronologia da conversa · painel de consenso
  • organismos / registo de decisões · inventário de agentes · cadeia de evidências

Código · evidência de implementação

const requiredReviewers = [
  ...new Set(target.to.filter((agent) => agent !== parsed.from)),
]
if (requiredReviewers.length === 0) {
  throw new Error('Consensus requires an independent review')
}

const reviewedBy = requiredReviewers.filter((reviewer) =>
  events.some(
    (event) =>
      event.correlationId === target.id &&
      event.from === reviewer &&
      ['review', 'objection', 'result'].includes(event.messageKind),
  ),
)
if (reviewedBy.length !== requiredReviewers.length) {
  throw new Error('Consensus requires an independent review from: ...')
}

const level =
  parsed.reversibility === 'irreversible' ? 'L3' : topicLevel
if (level === 'L3' && parsed.from !== 'manuel') {
  throw new Error('L3 consensus may only be resolved by Manuel')
}

src/store.mjs · resolveTopic()

O núcleo do sistema: a barreira de consenso. Antes bastava a declaração de um agente; agora exige a revisão independente de cada revisor obrigatório e deriva o nível em vez de o atribuir.

consensusState = 'reviewed' | 'provisional' | 'lapsed' ← derivado das revisões registadas, não declarado pelo agente que resolve o tema

Aprendizagens

Separar inteligência de autoridade: uma parte propõe e outra, determinística, autoriza, evitando que uma recomendação seja confundida com uma decisão.

Um acordo sem revisão independente não é consenso; é uma opinião com um carimbo de aprovação. Se o sistema não o verificar, acabará por acontecer.

A indisponibilidade por quota não é uma exceção, mas uma condição normal: o design deve degradar o funcionamento de forma explícita, em vez de ficar bloqueado.

Aprendi a registar decisões enquanto trabalho: reconstruir o contexto mais tarde exige mais esforço e pode deixar lacunas.

Pergunta em aberto:O que precisa uma pessoa de ver para supervisionar com confiança vários agentes autónomos sem ler tudo o que produzem?

Contacto

Vamos conversar.

Se achas que a minha forma de trabalhar se adequa à tua equipa, ou tens um produto ou uma investigação que gostarias de desenvolver, gostaria de saber mais. Conta-me de que precisas e em que ponto estás. Lerei a tua mensagem pessoalmente.

Também me podes encontrar no LinkedIn

O teu endereço é utilizado apenas para responder a esta mensagem.