AuditCore 多智能体协同审计与底稿生成技能 (AuditCore Multi-Agent Audit Skill)
一、 架构总览 (Visão Geral da Arquitetura)
O AuditCore Skill utiliza a arquitetura "Cérebro Hospedeiro + Núcleo Determinístico" (Host-Brain + Deterministic-Core):
- Comitê de Auditoria Cega Multiagente sem Chave de API Externa: Reutiliza diretamente a capacidade de delegação de subagentes do agente hospedeiro (Claude Code, Antigravity, Codex, OpenClaw, etc.), iniciando quatro papéis de auditoria com isolamento físico de contexto (
junior-auditor,challenger-auditor,fact-checker,senior-partner). - Núcleo de Algoritmo Patenteado Determinístico (
scripts/audit_cli.py): Através de um mecanismo CLI com estado, impõe Criptografia e Anonimização de PII com Cadeia de Hash SHA-256 para Logs de Auditoria, Filtragem de Materialidade em Três Níveis, Penetração Determinística de Regras em Seis Dimensões (Lei de Benford, Z-Score, Anomalias de Dezenas de Milhares/Dezenas de Mil, Lançamentos em Finais de Semana, Divisão de Transações no Mesmo Dia para Evitar Aprovação, Lançamentos a Vermelho Negativos/Lançamentos Duplicados), Pesquisa Híbrida de Regulamentações em Três Vias sem PyTorch $H(q, c_i)$, Grafo Causal de Evidências em Quatro Camadas e Validação de Perda em Grafo Bipartido, Retrocesso Local Mínimo em Máquina de Estados DAG, e Geração Automática de Papéis de Trabalho Word (.docx) / Markdown (.md) com Quatro Elementos CSA-1131 e Restauração Reversa de PII.
二、 三大核心铁律 (REGRAS DE FERRO — Violar Qualquer Uma Delas Invalida a Auditoria)
REGRA DE FERRO 1: Portão de Isolamento Físico com Vazamento Zero de PII (Zero-Leakage Privacy Gate)
- Proibido Ler o Arquivo Contábil Original: Antes ou depois de executar
scripts/audit_cli.py init, é absolutamente proibido usarpandas,python,cat,headou qualquer ferramenta de leitura de arquivos para visualizar diretamente o conteúdo do arquivo.xlsx/.csvoriginal do usuário! - Proibido Acessar o Cofre Criptografado: O arquivo
.auditcore_workspace/cases/<CASE_ID>/.vault_do_not_read.jsongerado peloinité criptografado com XOR-SHA256-HMAC para armazenar o mapeamento real da empresa e contas. O hospedeiro e qualquer subagente estão proibidos de ler ou descriptografar este arquivo. - Raciocínio com Dados Anonimizados em Todo o Fluxo: Todas as explorações SQL e o raciocínio cego dos quatro papéis devem usar estritamente os placeholders anonimizados como
PERSON_0001,ACCT_0001; o nome real da empresa só será restaurado reversamente pelo script determinístico localmente na fase finalaudit_cli.py export.
REGRA DE FERRO 2: Contrato de Auditoria Cega com Isolamento de Subagentes (Blinded Subagent Isolation)
- No modo
full-audit, é proibido "interpretar os quatro papéis sozinho no diálogo principal". - A sequência da máquina de estados deve ser seguida, lendo os arquivos de contrato de cada papel em
agents/e delegando subagentes independentes (usando as ferramentasinvoke_subagent/Task/Agentdo hospedeiro):- Auditoria Inicial:
agents/junior-auditor.md-> Submeter--role junior - Revisão Independente:
agents/challenger-auditor.md-> Submeter--role challenger - Verificação de Fatos:
agents/fact-checker.md-> Submeter--role factcheck - Parecer Final do Sócio:
agents/senior-partner.md-> Submeter--role senior
- Auditoria Inicial:
- Regra de Compatibilidade com Degradação: Apenas quando o ambiente hospedeiro não suportar nenhuma ferramenta de delegação de subagentes, é permitido gerar o JSON de cada papel de forma independente e passo a passo na sessão principal, mas imediatamente após cada passo, deve-se chamar
audit_cli.py commitpara verificação pelo grafo de evidências determinístico, sendo estritamente proibido pular etapas e mesclar.
REGRA DE FERRO 3: Portão Obrigatório da CLI com Estado e Loop de Retrocesso Mínimo (Stateful CLI & Minimum-Cut Rollback)
- A conclusão de cada papel deve ser submetida através de
scripts/audit_cli.py commit --role <role>. Se a sequência da máquina de estados for violada, a CLI retornará o código de saída2(STATE_GUARD_VIOLATION). - Após a submissão do
factcheck, se a pontuação de consistência global $S_{\text{global}} < \theta$ (padrão0.80), a CLI executará automaticamente um retrocesso local mínimo com consciência de dependência, retornando"rollback_triggered": trueerollback_diagnosis.arbitration_probe(sonda de verificação), e reverterá o estado paraSTATE_JUNIOR_AUDITouSTATE_CHALLENGER_REVIEW. - Ao encontrar
rollback_triggered: true, é obrigatório injetarrollback_diagnosisno papel alvo e re-delegar o subagente, até que a consistência seja atendida e o estado avance paraSTATE_SENIOR_PARTNER! É estritamente proibido escrever manualmente um papel de trabalho falso para pular oexport.
三、 五大运行模式路由表 (Tabela de Roteamento dos 5 Modos Operacionais)
A seleção do modo é automática com base na solicitação do usuário (o padrão é full-audit):
| Nome do Modo | Cenário e Palavras de Gatilho | Caminho de Execução |
|---|---|---|
full-audit(Padrão - Fluxo Completo) | Auditar arquivo contábil, investigar totalmente fraudes/deficiências de controle interno e emitir papel de trabalho formal | Executar completamente o Protocolo de Máquina de Estados em 5 Etapas Padrão abaixo (init $\to$ sql $\to$ Loop de Submissão Cega de 4 Papéis e Retrocesso Mínimo $\to$ export) |
quick-scan(Escaneamento Rápido) | "Dá uma olhada rápida nas anomalias", "Não precisa rodar o jogo multiagente, só quero o resultado do escaneamento de regras" | 1. Executar audit_cli.py init --file <PATH> --case <ID> --mode quick2. Opcional: Executar audit_cli.py export --case <ID> --out-dir <DIR> para exportar rapidamente o papel de trabalho do escaneamento de regras |
sql-explore(Sandbox SQL de Penetração) | Executar consultas personalizadas de agregação entre períodos ou por grupo no arquivo contábil já inicializado | Executar audit_cli.py sql --case <ID> --query "SELECT ... FROM financial_ledger ..." (apenas SELECT / WITH somente leitura) |
law-lookup(Pesquisa Híbrida de Regulamentações) | "Consultar cláusulas de normas sobre divisão de transações, lançamentos em fim de semana ou evidências de auditoria" | Executar audit_cli.py law --query "<Palavra-chave ou Pergunta>" --top-k 5, que retorna diretamente a cadeia de evidências ponderada $E(q)$ e a conclusão de raciocínio qualitativo em quatro estágios $\Psi$ |
workpaper(Re-exportação de Papel de Trabalho) | Para um caso já concluído, alterar o nome da entidade, período contábil ou diretório de exportação | Executar audit_cli.py export --case <ID> --entity-name "<Nome da Entidade>" --period "<Período>" --out-dir <DIR> |
Para detalhes dos parâmetros CLI e JSON Schema, consulte conforme necessário:
references/schemas.md.
四、 Protocolo de Execução da Máquina de Estados em 5 Etapas Padrão para full-audit (5-Step Stateful Protocol)
Assumindo que o diretório raiz do skill é <SKILL_DIR> (contendo scripts/audit_cli.py). Se o usuário não fornecer um arquivo contábil e solicitar uma demonstração, use diretamente o arquivo contábil de amostra de alta fidelidade com fraude embutida <SKILL_DIR>/examples/sample_vouchers_2026.xlsx.
Passo 1: Inicializar o Arquivo Contábil, Criptografar e Anonimizar, e Penetrar Regras Determinísticas (init)
python3 <SKILL_DIR>/scripts/audit_cli.py init \
--file "<USER_EXCEL_OR_CSV_PATH>" \
--case "CASE_2026_01" \
--workspace ".auditcore_workspace" \
--lang "português"
- Registrar o JSON retornado:
stats,schema_ddl,rule_findings,anomaly_samples,evidence_chain. - Neste ponto, a máquina de estados está em
STATE_DYNAMIC_SQL_EXPLORATION.
Passo 2: Consulta de Penetração no Sandbox SQLite Somente Leitura (sql)
Com base em schema_ddl e rule_findings, escreva uma consulta SQL de agregação direcionada à tabela anonimizada financial_ledger (por exemplo, verificar o número de transações divididas no mesmo dia por fornecedor e o valor acumulado, ou resumir valores anômalos por conta devedora):
python3 <SKILL_DIR>/scripts/audit_cli.py sql \
--case "CASE_2026_01" \
--workspace ".auditcore_workspace" \
--query "SELECT Date, Vendor, COUNT(*) AS tx_count, SUM(Amount) AS total_amount FROM financial_ledger GROUP BY Date, Vendor HAVING tx_count >= 2 OR total_amount >= 100000 ORDER BY total_amount DESC"
- Neste ponto, a máquina de estados avança para
STATE_JUNIOR_AUDIT.
Passo 3: Loop de Submissão Cega Independente Multiagente e Retrocesso Mínimo Local (commit Loop)
3.1 Delegar Auditor Júnior (STATE_JUNIOR_AUDIT)
- Ler
<SKILL_DIR>/agents/junior-auditor.md. - Delegar subagente (ou passo independente), fornecendo apenas os dados anonimizados
stats,rule_findings,anomaly_samples, resultadossql,evidence_chain(se for uma re-auditoria por rollback, fornecer adicionalmenterollback_diagnosis). - Obter o JSON retornado pelo subagente (contendo
analysis,risk_score,cited_reg_ids), submeter à CLI:
python3 <SKILL_DIR>/scripts/audit_cli.py commit \
--case "CASE_2026_01" \
--workspace ".auditcore_workspace" \
--role junior \
--payload '<JUNIOR_JSON>'
- A máquina de estados avança para
STATE_CHALLENGER_REVIEW.
3.2 Delegar Revisor Independente (STATE_CHALLENGER_REVIEW)
- Ler
<SKILL_DIR>/agents/challenger-auditor.md. - Delegar subagente independente, fornecendo as evidências anômalas anonimizadas,
evidence_chaine ojunior_reportejunior_scoreda auditoria inicial, solicitando uma revisão e questionamento independentes com ceticismo profissional. - Obter o JSON retornado (contendo
rebuttal,adjusted_risk_score), submeter à CLI:
python3 <SKILL_DIR>/scripts/audit_cli.py commit \
--case "CASE_2026_01" \
--workspace ".auditcore_workspace" \
--role challenger \
--payload '<CHALLENGER_JSON>'
- A máquina de estados avança para
STATE_FACT_CHECK.
3.3 Delegar Verificador de Fatos e Verificar Consistência Global (STATE_FACT_CHECK)
- Ler
<SKILL_DIR>/agents/fact-checker.md. - Delegar subagente independente para executar a decomposição em fatos atômicos (
claims) e o mapeamento de evidências em grafo bipartido (evidence_mapping) nas conclusões da auditoria inicial e da revisão. - Obter o JSON retornado (contendo
analysis,support_score,conflict_score,conflict_type,claims,evidence_mapping), submeter à CLI:
python3 <SKILL_DIR>/scripts/audit_cli.py commit \
--case "CASE_2026_01" \
--workspace ".auditcore_workspace" \
--role factcheck \
--payload '<FACTCHECK_JSON>'
- Verificar o
current_stateerollback_triggeredretornados pela CLI:- Se
"rollback_triggered": true: indica um conflito grave no grafo de evidências ($S_{\text{global}} < \theta$). A CLI já removeu automaticamente o subgrafo de pior raciocínio e reverteu pararollback_target_state(geralmenteSTATE_JUNIOR_AUDIT). Você deve extrair orollback_diagnosisretornado (contendoarbitration_probeecsa_guidance) e voltar ao 3.1 (ou 3.2) para re-delegar o subagente e corrigir as conclusões! - Se
"current_state": "STATE_SENIOR_PARTNER": a consistência do grafo de evidências foi atingida, prossiga para o Passo 4.
- Se
Passo 4: Delegar Sócio Sênior para Emitir o Parecer Final e os Lançamentos de Ajuste de Auditoria (STATE_SENIOR_PARTNER)
- Ler
<SKILL_DIR>/agents/senior-partner.md. - Delegar subagente independente, fornecendo estatísticas anonimizadas, cadeia de evidências de regulamentações, conclusões aprovadas da auditoria inicial/revisão, para gerar o parecer final (
final_verdict,final_risk_score,reasoning,action_item,suggested_aje). - Submeter à CLI:
python3 <SKILL_DIR>/scripts/audit_cli.py commit \
--case "CASE_2026_01" \
--workspace ".auditcore_workspace" \
--role senior \
--payload '<SENIOR_JSON>'
- A máquina de estados avança para
STATE_WORKPAPER_GENERATION.
Passo 5: Montar o Papel de Trabalho com Quatro Elementos, Avaliar a Qualidade $Q(Y)$, Reverter a Anonimização de PII e Exportar o Papel de Trabalho CSA-1131 (export)
python3 <SKILL_DIR>/scripts/audit_cli.py export \
--case "CASE_2026_01" \
--workspace ".auditcore_workspace" \
--out-dir "./audit_outputs" \
--entity-name "Entidade Auditada" \
--period "Exercício de 2026"
- A CLI reverterá automaticamente os nomes de entidades PII e gerará:
workpaper_docx_path: Papel de trabalho de auditoria formal em.docxWord, em conformidade com a Norma 1131 de Auditoria do Conselho de Normas de Auditoria da China;workpaper_markdown_path: Papel de trabalho de auditoria estruturado em.md;quality_evaluation: Relatório de avaliação contendo $Q_{\text{ev}}$, $Q_{\text{con}}$, $Q_{\text{cmp}}$, pontuação total $Q(Y)$ e resultados de verificação de alucinação com tolerância zero.
- Reportar ao usuário as descobertas finais da auditoria, exibir os nomes reais das entidades envolvidas após a restauração, os Lançamentos de Ajuste de Auditoria (AJE), a pontuação de qualidade $Q(Y)$ e os caminhos dos arquivos
.docx/.mdgerados.
五、 Tabela de Desculpas Comuns e Prevenção à Preguiça (Rationalization Table & Red Flags)
| Desculpa Comum do Agente (Rationalization) | Fato Objetivo e Contraponto da Regra de Ferro (Reality & Iron Rule) |
|---|---|
"O arquivo contábil é pequeno, vou usar pandas.read_excel para dar uma olhada nas colunas e fornecedores." | Violação Grave (Violação da REGRA DE FERRO 1)! Uma vez que o arquivo original é lido diretamente, os nomes reais das empresas e números de contas bancárias são expostos no contexto do LLM, destruindo completamente os limites de conformidade de privacidade. É obrigatório e só possível executar primeiro audit_cli.py init. |
| "Para economizar tempo, vou escrever os JSONs do auditor júnior, revisor, verificador de fatos e sócio sênior em um único bloco de código e fazer commit consecutivamente." | Violação Grave (Violação da REGRA DE FERRO 2)! Criar quatro papéis simultaneamente no mesmo contexto causa um sério viés de confirmação (Confirmation Bias). Se o hospedeiro suportar subagentes, eles devem ser delegados independentemente; mesmo na execução sequencial, é obrigatório ler o feedback do grafo de evidências da CLI após cada commit antes de executar o próximo passo. |
"Após submeter o factcheck, o rollback_triggered: true foi ativado. Vou apenas alterar a pontuação no JSON e submeter como senior." | O Portão de Estado Intercepta Diretamente (Código de Saída 2)! Após o rollback, a máquina de estados está em STATE_JUNIOR_AUDIT (ou STATE_CHALLENGER_REVIEW). Se os papéis anteriores não forem reexecutados de acordo com rollback_diagnosis.arbitration_probe, a máquina de estados nunca permitirá o avanço para STATE_SENIOR_PARTNER. |
"Já sei a conclusão da auditoria, vou escrever um relatório em Markdown para o usuário, não preciso chamar audit_cli.py export." | Violação Grave (Violação da REGRA DE FERRO 3)! Um relatório escrito à mão não pode descriptografar os nomes reais das empresas em .vault_do_not_read.json (só pode produzir PERSON_0001), e carece da estrutura patenteada de quatro elementos $Y={\text{idx},\text{aje},\text{jud},\text{log}}$, da pontuação de qualidade $Q(Y)$ e do papel de trabalho formal CSA-1131 .docx. |
Red Flags — Quando o Pensamento Abaixo Ocorrer, Pare Imediatamente e Volte ao Protocolo CLI:
- Preparar-se para executar
pd.read_excel/pd.read_csv/open()para ler o arquivo financeiro original do usuário - Preparar-se para ler
.vault_do_not_read.json - Inventar números de artigos de lei que não aparecem em
evidence_chaindurante a análise (isso acionará a degradação de tolerância zerohallucinated_citations, forçando $Q(Y)$ para $\le 0.40$) - Pular as etapas
sqlou qualquercommit --rolee tentarexportdiretamente