Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

Agentes de 12 fatores 8. Assuma o controle do seu fluxo de controle.

Se você tiver controle do seu fluxo de controle, poderá implementar muitos recursos interessantes.

12 - Factor Agents 8 - Assumir o controle do seu fluxo de controle - 1

Crie estruturas de controle personalizadas que se ajustem ao seu caso de uso específico. Especificamente, determinados tipos de chamadas de ferramentas podem ser um motivo para sair de um loop, aguardar a resposta de uma pessoa ou esperar por outra tarefa de longa duração (por exemplo, um pipeline de treinamento). Talvez você também queira integrar implementações personalizadas dos seguintes recursos:

  • Resumo ou cache dos resultados da chamada da ferramenta
  • LLM-as-judge (Modelo de linguagem grande como juiz) para resultados estruturados
  • Compactação da janela de contexto ou outro gerenciamento de memória
  • Registro, rastreamento e métricas
  • Limitação de taxa no lado do cliente
  • Hibernação persistente / Suspender / "Aguardar evento"

O exemplo a seguir mostra três possíveis padrões de fluxo de controle:

  • request_clarification: o modelo solicita mais informações, interrompe o loop e aguarda uma resposta humana
  • fetch_git_tags: o modelo solicita uma lista de tags git, obtém as tags, anexa-as à janela de contexto e as passa diretamente de volta para o modelo
  • deploy_backend: o modelo solicita a implantação do backend, o que é uma ação de alto risco, portanto, interrompe o loop e aguarda a aprovação humana
def handle_next_step(thread: Thread):
while True:
next_step = await determine_next_step(thread_to_prompt(thread))
# 为清晰起见,此处为内联代码 - 实际上你可以把它
# 放在一个方法里,使用异常来控制流程,或任何你喜欢的方式
if next_step.intent == 'request_clarification':
thread.events.append({
type: 'request_clarification',
data: nextStep,
})
await send_message_to_human(next_step)
await db.save_thread(thread)
# 异步步骤 - 中断循环,我们稍后会收到一个 webhook
break
elif next_step.intent == 'fetch_open_issues':
thread.events.append({
type: 'fetch_open_issues',
data: next_step,
})
issues = await linear_client.issues()
thread.events.append({
type: 'fetch_open_issues_result',
data: issues,
})
# 同步步骤 - 将新的上下文传递给 LLM 以确定下一步的行动
continue
elif next_step.intent == 'create_issue':
thread.events.append({
type: 'create_issue',
data: next_step,
})
await request_human_approval(next_step)
await db.save_thread(thread)
# 异步步骤 - 中断循环,我们稍后会收到一个 webhook
break

Esse modo permite que você interrompa e retome o fluxo de inteligências conforme necessário para criar um diálogo e um fluxo de trabalho mais naturais.

exemplo típico - Para cada estrutura de IA no mercado, o recurso que eu mais gostaria de ver é a capacidade de interromper uma inteligência em funcionamento e retomá-la mais tarde, especialmente em ferramentas opção e ferramentas invocações Entre esses dois momentos.

Sem esse nível de recuperabilidade/granularidade, não há como revisar/aprovar uma chamada de ferramenta antes que ela seja executada, o que significa que você precisa escolher uma entre várias opções:

  1. Suspender tarefas na memória enquanto aguarda a conclusão de tarefas de longa duração (como o while...sleep), e se o processo for interrompido, ele deverá ser reiniciado do zero
  2. Limite as permissões das inteligências a apenas chamadas de baixo risco e baixa importância, como pesquisas e resumos
  3. Dê à inteligência a autoridade para realizar tarefas mais importantes e úteis e conte com ela para não errar por pura sorte (yolo).

Você pode notar que isso não é o mesmo que Elemento 5 - Harmonizar o estado de execução com o estado do negócio responder cantando Elemento 6 - Iniciar/suspender/retomar com uma API simples Intimamente relacionado, mas pode ser realizado de forma independente.

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil