Pular para o conteúdo
Skillpedia
Agentes40 mil · #4985

agent-governance

Ajuda seu agente a adicionar controles de segurança e confiança a sistemas de IA. É útil ao conectar agentes a ferramentas externas.

O que ela faz

Esta ferramenta ajuda a definir regras de segurança e controle para sistemas de inteligência artificial (IA). Ela garante que a IA opere dentro de limites seguros, controlando quais ações ela pode realizar e mantendo um registro de suas atividades.

Quando usar

  • ✓Ao criar IAs que precisam acessar outras ferramentas ou dados.
  • ✓Ao implementar controles de acesso para garantir que a IA não faça coisas perigosas.
  • ✓Ao construir sistemas de IA para garantir que eles sejam confiáveis e auditáveis.

Exemplo do que pedir para a IA

“Configure uma política para que a IA só possa acessar o banco de dados e ler arquivos, mas não possa executar comandos do sistema.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/agent-governance/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/agent-governance/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você define regras claras sobre o que a IA pode ou não fazer, como quais ferramentas pode usar ou quais tipos de conteúdo deve evitar. Essas regras funcionam como um escudo para garantir que a IA aja de forma segura e previsível.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill agent-governance

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/agent-governance/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Padrões de Governança de Agentes

Padrões para adicionar segurança, confiança e aplicação de políticas a sistemas de agentes de IA.

Visão Geral

Padrões de governança garantem que os agentes de IA operem dentro de limites definidos — controlando quais ferramentas eles podem chamar, qual conteúdo eles podem processar, o quanto eles podem fazer e mantendo a responsabilidade através de trilhas de auditoria.

User Request → Intent Classification → Policy Check → Tool Execution → Audit Log
                     ↓                      ↓               ↓
              Threat Detection         Allow/Deny      Trust Update

Quando Usar

  • Agentes com acesso a ferramentas: Qualquer agente que chama ferramentas externas (APIs, bancos de dados, comandos de shell)
  • Sistemas multiagentes: Agentes que delegam para outros agentes precisam de limites de confiança
  • Implantações em produção: Requisitos de conformidade, auditoria e segurança
  • Operações sensíveis: Transações financeiras, acesso a dados, gerenciamento de infraestrutura

Padrão 1: Política de Governança

Defina o que um agente tem permissão para fazer como um objeto de política compondo e serializável.

from dataclasses import dataclass, field
from enum import Enum
from typing import Optional
import re

class PolicyAction(Enum):
    ALLOW = "allow"
    DENY = "deny"
    REVIEW = "review"  # flag for human review

@dataclass
class GovernancePolicy:
    """Declarative policy controlling agent behavior."""
    name: str
    allowed_tools: list[str] = field(default_factory=list)       # allowlist
    blocked_tools: list[str] = field(default_factory=list)       # blocklist
    blocked_patterns: list[str] = field(default_factory=list)    # content filters
    max_calls_per_request: int = 100                             # rate limit
    require_human_approval: list[str] = field(default_factory=list)  # tools needing approval

    def check_tool(self, tool_name: str) -> PolicyAction:
        """Check if a tool is allowed by this policy."""
        if tool_name in self.blocked_tools:
            return PolicyAction.DENY
        if tool_name in self.require_human_approval:
            return PolicyAction.REVIEW
        if self.allowed_tools and tool_name not in self.allowed_tools:
            return PolicyAction.DENY
        return PolicyAction.ALLOW

    def check_content(self, content: str) -> Optional[str]:
        """Check content against blocked patterns. Returns matched pattern or None."""
        for pattern in self.blocked_patterns:
            if re.search(pattern, content, re.IGNORECASE):
                return pattern
        return None

Composição de Política

Combine múltiplas políticas (ex: organizacional + equipe + específica do agente):

def compose_policies(*policies: GovernancePolicy) -> GovernancePolicy:
    """Merge policies with most-restrictive-wins semantics."""
    combined = GovernancePolicy(name="composed")

    for policy in policies:
        combined.blocked_tools.extend(policy.blocked_tools)
        combined.blocked_patterns.extend(policy.blocked_patterns)
        combined.require_human_approval.extend(policy.require_human_approval)
        combined.max_calls_per_request = min(
            combined.max_calls_per_request,
            policy.max_calls_per_request
        )
        if policy.allowed_tools:
            if combined.allowed_tools:
                combined.allowed_tools = [
                    t for t in combined.allowed_tools if t in policy.allowed_tools
                ]
            else:
                combined.allowed_tools = list(policy.allowed_tools)

    return combined


# Usage: layer policies from broad to specific
org_policy = GovernancePolicy(
    name="org-wide",
    blocked_tools=["shell_exec", "delete_database"],
    blocked_patterns=[r"(?i)(api[_-]?key|secret|password)\s*[:=]"],
    max_calls_per_request=50
)
team_policy = GovernancePolicy(
    name="data-team",
    allowed_tools=["query_db", "read_file", "write_report"],
    require_human_approval=["write_report"]
)
agent_policy = compose_policies(org_policy, team_policy)

Política como YAML

Armazene políticas como configuração, não como código:

# governance-policy.yaml
name: production-agent
allowed_tools:
  - search_documents
  - query_database
  - send_email
blocked_tools:
  - shell_exec
  - delete_record
blocked_patterns:
  - "(?i)(api[_-]?key|secret|password)\\s*[:=]"
  - "(?i)(drop|truncate|delete from)\\s+\\w+"
max_calls_per_request: 25
require_human_approval:
  - send_email
import yaml

def load_policy(path: str) -> GovernancePolicy:

…
Perguntas frequentes

O que são 'governance patterns'?

São modelos ou exemplos de como implementar segurança, controle e confiança em sistemas de IA.

Por que é importante controlar o que a IA pode fazer?

Para evitar que a IA execute ações indesejadas, perigosas ou que violem regras, garantindo que ela opere de forma segura e confiável.

O que é 'audit trail'?

É um registro detalhado de todas as ações que a IA realizou, permitindo verificar o que aconteceu e garantir a responsabilidade.

Detalhes

Descrição original do autor

Patterns and techniques for adding governance, safety, and trust controls to AI agent systems. Use this skill when: - Building AI agents that call external tools (APIs, databases, file systems) - Implementing policy-based access controls for agent tool usage - Adding semantic intent classification to detect dangerous prompts - Creating trust scoring systems for multi-agent workflows - Building aud

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#4985
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas