· ENPT-BR
Grok Build para Alembic · Mecânica da integração

AgentProvider: comando, stdin, parser

Percorra a costura TypeScript clean-room do prompt ao resultado parseado da Factory.

Fonte primária
Guia fixado do modo headless

Commit upstream fixado: b189869b7755d2b482969acf6c92da3ecfeffd36

A camada Simples se sustenta sozinha; abra Técnico para contratos exatos e edge cases.
Ao final, você consegue
  • Ler o contrato AgentProvider como uma cintura estreita.
  • Explicar por que prompts trafegam por `/dev/stdin`.
  • Distinguir opções do provider de routing de modelo em produção.
1

A grande ideia


O provider tem dois trabalhos. Antes do launch, transforma opções da Factory num comando Grok seguro e envia o prompt por standard input. Durante a execução, traduz cada linha JSONL para o pequeno vocabulário de eventos do Alembic. Todo o resto — sandbox launch, timeout, acumulação e retorno — permanece com a Factory.

Pense como… O provider é um adaptador de tomada: muda a forma na fronteira sem reconstruir o aparelho nem a parede. A analogia quebra porque o adapter também valida comportamento de sessão não suportado e traduz um stream vivo de eventos.

`buildPrintCommand` retorna comando shell mais stdin opcional. O prompt nunca entra em argv, evitando interpretação shell e limites por argumento. Model e flags enumeradas são shell-escaped. O caminho AFK público `run()` da Factory pede bypass de permissões; contenção continua sendo responsabilidade do SandboxProvider.

O provider sempre desabilita a busca web nativa do Grok para manter a pesquisa do Alembic no Bright Data CLI. Effort e ambiente opcionais mapeiam para o CLI; o roster fixo de produção permanece inalterado. No caminho AFK de run, o Orchestrator pede bypass de aprovação e a contenção vem do SandboxProvider.

Evidência: Guia fixado do modo headless

execução FactoryAgentProvideropçõesshellEscapecomando Seguro: shell-escape model/flags e colocar prompt em stdin.
Percorra a costura TypeScript clean-room do prompt ao resultado parseado da Factory.
2

Compare as fronteiras


Seguro
Seguro: shell-escape model/flags e colocar prompt em stdin.
Arriscado
Arriscado: interpolar prompt do usuário numa string de comando shell.
SuperfícieUpstreamAlembicVeredito
Prompt transportPoderia ser argv inline`--prompt-file /dev/stdin`STDIN
PermissionsCLI suporta modos de aprovaçãoRun AFK pede bypass; sandbox contémLAYERED
RoutingProvider pode ser construídoRoster fixo inalteradoSEPARATE

O provider sempre desabilita a busca web nativa do Grok para manter a pesquisa do Alembic no Bright Data CLI. Effort e ambiente opcionais mapeiam para o CLI; o roster fixo de produção permanece inalterado. No caminho AFK de run, o Orchestrator pede bypass de aprovação e a contenção vem do SandboxProvider.

3

Código e comandos reais


packages/factory/src/GrokAgentProvider.ts
return {
  command: `grok --prompt-file /dev/stdin \
--output-format streaming-json --model ${shellEscape(model)} \
--disable-web-search`,
  stdin: prompt,
};
Como chegar lá
sed -n '1,170p' packages/factory/src/GrokAgentProvider.ts
rg -n "export.*grok|GrokOptions" packages/factory/src/index.ts

Evidência: RESOURCES.md

4

Atlas visual


entradaprovaexecução Factory
Trace a fronteira: execução Factory.
superfíciecosturadonoAgentProvider
Localize o dono: AgentProvider.
afirmaçãosem gateevidênciana fronteiravsopções
Compare afirmação e evidência: opções.
aprenderexecutarverificarshellEscape
Leia a sequência: shellEscape.
completo?sim / nãocomando
Encontre o gate de decisão: comando.
entradaprova/dev/stdin
Trace a fronteira: /dev/stdin.
superfíciecosturadonoprompt
Localize o dono: prompt.
afirmaçãosem gateevidênciana fronteiravsgrok
Compare afirmação e evidência: grok.
aprenderexecutarverificarJSONL
Leia a sequência: JSONL.
completo?sim / nãoparser
Encontre o gate de decisão: parser.
entradaprovaeventos
Trace a fronteira: eventos.
superfíciecosturadonoOrchestrator
Localize o dono: Orchestrator.
afirmaçãosem gateevidênciana fronteiravsacumulador
Compare afirmação e evidência: acumulador.
aprenderexecutarverificarresultado
Leia a sequência: resultado.
5

Prática e feedback


Preveja antes de revelar

O prompt contém aspas e sintaxe shell. Qual campo deve carregá-lo?

`PrintCommand.stdin`; o comando contém apenas opções escapadas do provider.

Cartões de recuperação

Cartões de recuperaçãoPrintCommandClique ou pressione Enter para virar
PrintCommandString de comando mais conteúdo stdin opcional.
Cartões de recuperaçãoshellEscapeClique ou pressione Enter para virar
shellEscapeProtege valores de fronteira antes da execução shell.
Cartões de recuperaçãocaptureSessionsClique ou pressione Enter para virar
captureSessionsFalse para este provider da fase um.
Cartões de recuperaçãoOpt-inClique ou pressione Enter para virar
Opt-inUm caller precisa escolher `factory.grok()` explicitamente.
O provider tem dois trabalhos. Antes do launch, transforma opções da Factory num comando Grok seguro e envia o prompt por standard input. Durante a execução, traduz cada linha JSONL para o pequeno vocabulário de eventos do Alembic. Todo o resto — sandbox launch, timeout, acumulação e retorno — permanece com a Factory.
`buildPrintCommand` retorna comando shell mais stdin opcional. O prompt nunca entra em argv, evitando interpretação shell e limites por argumento. Model e flags enumeradas são shell-escaped. O caminho AFK público `run()` da Factory pede bypass de permissões; contenção continua sendo responsabilidade do SandboxProvider.

Monte o comando com segurança

Escolha um conjunto de opções e veja o que muda — e o que fica fora de argv.

Veredito

Resumo em quatro slides

PrintCommand

String de comando mais conteúdo stdin opcional.

shellEscape

Protege valores de fronteira antes da execução shell.

captureSessions

False para este provider da fase um.

Opt-in

Um caller precisa escolher `factory.grok()` explicitamente.

Teste seu modelo

Revisão espaçada

O que nunca deve ser interpolado no comando?

O prompt pertence ao stdin; valores de opção da fronteira são escapados no comando.
6

Fontes e próximo movimento


Peça ao seu professor para desafiar um veredito, repetir um evento ou revisar uma unidade futura com a mesma disciplina de prova.