As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use o Kiro CLI com uma política de raciocínio automatizado
Você pode usar a CLI do Kiro para fazer perguntas sobre suas políticas de raciocínio automatizado, entender o comportamento das várias regras e solicitar alterações que resolvam falhas nos testes ou ambigüidades na própria política.
Pré-requisitos
Para usar o Kiro CLI com suas políticas de raciocínio automatizado, você deve primeiro concluir as seguintes etapas:
-
Instale a versão mais recente do Kiro CLI
. -
Instale a versão mais recente do AWS CLI.
-
Crie uma política de raciocínio automatizado usando um documento por meio do console ou APIs. Para começar rapidamente, use o exemplo de política de lição de casa incorporado do console. Para obter mais informações, consulte Criar uma política de raciocínio automatizado.
-
Copie o conteúdo do prompt contextual fornecido Aviso de contexto da API de política de raciocínio automatizado e salve-o em um arquivo Markdown na pasta do seu projeto. Esse prompt ajuda o Kiro CLI a usar o plano de controle da política de raciocínio automatizado e testar a API corretamente.
nota
Para os exemplos imediatos abaixo, usamos o exemplo de política de lição de casa. Os prompts devem funcionar da mesma forma com outras políticas, basta alterar o tópico destacado.
nota
As políticas de raciocínio automatizado podem ser complexas e exigir que a CLI do Kiro raciocine por meio de construções lógicas complexas. Para obter o melhor desempenho, recomendamos o uso de versões maiores LLMs , como o Anthropic Sonnet 4.5. Para alterar o modelo na CLI do Kiro, use /model o comando.
Introdução
Você precisa do ARN da política de raciocínio automatizado que você criou para iniciar o fluxo de trabalho com o Kiro CLI.
-
Usando o console, abra sua política de raciocínio automatizado e, na página Visão geral da política, abra a guia Detalhes da política.
-
Na guia Detalhes da política, encontre o ARN da política e copie-o para sua área de transferência.
-
Usando o terminal, inicie uma sessão da CLI do Kiro com o seguinte comando:
kiro-cli -
Com sua primeira solicitação, peça a Kiro que procure as instruções do arquivo Markdown que você copiou desta página como parte dos pré-requisitos. Por exemplo:
We will be using Automated Reasoning checks control plane APIs. I have saved an instructions file calledyour_file_name.md in this folder. Read this file as it will give you the context you need to work with the APIs. -
Depois que o Kiro CLI carregar e entender as “ APIsverificações de raciocínio automatizado”, peça que ele carregue a versão mais recente de sua política e comece a explorá-la. Use uma variação do prompt a seguir com o ARN que você copiou:
Load the policy assets for the latest build of the policy with ARNYOUR_POLICY_ARN. Make sure you understand the policy with all its rules and variables. Give a high-level description of the policy and the type of content it is capable of validating.
Neste ponto, a CLI do Kiro deve fornecer uma breve descrição das regras e variáveis da política. O Kiro CLI também deve carregar o relatório de qualidade da política e resumir problemas como tipos e variáveis não utilizados.
Resolvendo problemas de política
Você pode usar a CLI do Kiro para resolver problemas de política relatados no relatório de política. Primeiro, peça a Kiro que forneça um resumo do relatório de qualidade:
Can you give me a summary of the quality report for this policy?
O relatório de qualidade inclui uma lista de variáveis não utilizadas, regras conflitantes e regras desarticuladas e outros possíveis problemas com a política.
Regras conflitantes farão com que sua política responda IMPOSSIBLE a todas as solicitações de validação. Você pode pedir ao Kiro CLI que explique o conflito e proponha uma solução:
Can you look at the conflicting rules, explain how they are used in the policy, why they conflict, and suggest a change such as deleting one of the rules or merging the logic from the two into a single rule?
Variáveis não utilizadas podem fazer com que o resultado da validação retorne TRANSLATION_AMBIGUOUS resultados. Você pode pedir ajuda ao Kiro CLI com esse problema:
I see the quality report lists some unused variables, can you get rid of them?
Da mesma forma, variáveis ambíguas que são semanticamente semelhantes podem fazer com que o resultado da validação retorne TRANSLATION_AMBIGUOUS resultados. Você pode pedir ajuda ao Kiro CLI com esse problema:
Automated Reasoning checks translate input natural language into logical statements that use the schema of variables from the policy. Variables that are semantically similar - ambiguous - can cause issues with inconsistent translations. Can you take a look at the schema of variables and help me identify variables that have potentially overlapping meanings? If you find any, suggest changes like removing one of them or merging them. Variable changes are also likely to require corresponding rule changes.
nota
Depois de processar algumas alterações, o Kiro CLI solicitará a confirmação para aplicá-las. Neste ponto, você pode usar a interface de usuário do Bedrock Console para revisar as alterações propostas em uma tela de comparação. Se você usa o console para revisar e aprovar as alterações, não se esqueça de pedir ao Kiro CLI que recarregue a versão mais recente da definição de política.
Interagindo com uma política
Você pode usar a CLI do Kiro para explorar sua política. Por exemplo, você pode pedir ao Kiro CLI que resuma as regras de política relacionadas a uma área específica. Usando o exemplo de política de lição de casa como exemplo, você pode pedir à CLI do Kiro que fale sobre as regras que restringem especificamente a lição de casa de matemática:
Can you tell me about the rules that constrainmath homework? Explain the rules themselves and how they fit in the broader policy.
Você também pode usar a CLI do Kiro para adicionar funcionalidade à política. As políticas de raciocínio automatizado geralmente contornam algumas variáveis-chave de saída que capturam a intenção do usuário. Por exemplo, o exemplo de política de envio de trabalhos de casa usa uma isSubmissionAcceptable variável como saída de suas regras. Você pode usar a CLI do Kiro para alterar a política e capturar outras possíveis perguntas do usuário.
Editando ou revisando sua política
Você pode perguntar ao Kiro CLI se a política é capaz de validar perguntas específicas de seus usuários. Por exemplo, a política de dever de casa se concentra em determinar se o envio de um dever de casa é aceitável. Você pode esperar uma resposta positiva do Kiro CLI com esta pergunta:
Can this policy validate answers about whetherhomework submissions are acceptable?
Se você perguntar sobre o atraso no envio do dever de casa no exemplo de política de lição de casa, o Kiro CLI explicará que a política não é capaz de responder às seguintes perguntas:
Can this policy validate answers aboutpermissible delays in homework submissions?
O Kiro CLI explicará o que a política pode e não pode fazer:
> Yes, but with limitations. The policy can validate whether a late submission is acceptable, but it cannot answer general questions about permissible delays.
What it CAN validate:
- Whether a specific late submission is acceptable given the circumstances
- Example: "Student submitted 2 days late with a doctor's note because they were sick before the deadline" → The policy will determine if this is acceptable (it would be)
What it CANNOT validate:
- General questions like "How many days late can a student submit homework?"
- Questions about delay policies without specific submission details
- Hypothetical scenarios without concrete variable values
The late submission logic:
The policy allows late submissions (submissionDate > 0) ONLY if:
1. The student has a valid doctor's note (hasDoctorNote = true), AND
2. The student was sick before the original deadline (wasSickPriorToDeadline = true)
Without both conditions met, any submission after the due date (submissionDate > 0) is automatically rejected.
So it's designed to validate specific submission instances against the rules, not to answer policy interpretation questions.
Ao descobrir algo que a política não pode fazer, você pode pedir à CLI do Kiro que atualize a política para capturar essas informações usando o seguinte prompt:
I would like the policy to also validate answers aboutby how many days homework submissions can be delayed. Homework submissions accompanied by a doctor note can be up to 7 days late. Suggest the necessary variables and rules to capture these new questions.
Em resposta a essa solicitação, o Kiro CLI sugerirá um conjunto de variáveis e regras que podem ser adicionadas à política para validar o novo tipo de perguntas. Analise as sugestões e, se elas estiverem de acordo com sua intenção, você pode instruir a CLI do Kiro a usar a APIs anotação das verificações de raciocínio automatizado para fazer essas alterações na política:
Looks good. Can you use the annotation APIs to submit these changes to the policy.
Depois que o Kiro CLI confirmar que as anotações estão prontas, você pode abrir sua política no console para revisar as anotações. Se as anotações estiverem corretas, escolha Aplicar anotações.
nota
Vídeo tutorial: para ver um step-by-step passo a passo sobre como revisar e aplicar anotações, assista ao seguinte tutorial:
Depois de aplicar as anotações, peça ao Kiro CLI para recarregar a versão mais recente da política para garantir que o Kiro CLI esteja funcionando com uma cópia atual:
I applied the annotations. Reload the latest build of the policy.
Resolva os testes que falharam
Uma boa maneira de testar se sua política de raciocínio automatizado pode validar a linguagem natural gerada pelo seu aplicativo é usar testes. Depois de criar perguntas e respostas de teste com os resultados esperados, você pode usar a CLI do Kiro para entender por que um teste não retornou o resultado esperado e ajustar a política. Para obter mais informações sobre como criar e executar testes, consulteTestar uma política de raciocínio automatizado.
-
Como primeira etapa, peça ao Kiro CLI que carregue o teste que falhou e explique por que ele não está retornando o resultado esperado com base na definição da política. Use o console ou copie APIs a ID do teste que falhou. No console, o ID do teste está disponível na tabela que lista os testes e na página de detalhes de cada teste.
The test with IDYOUR_TEST_IDis not returning the expected result. Can you load the test definition and findings, look at the policy definition, and explain why this test is failing. -
A explicação da CLI do Kiro fornecerá orientações sobre se a política está fazendo a coisa certa (e você deve alterar o resultado esperado para o teste) ou se a política está errada. Você pode pedir ao Kiro CLI que sugira mudanças na política para garantir que o teste retorne o resultado esperado:
Can you suggest changes to the policy to ensure this test returns the expected result? Explain why you are suggesting these changes. Only create rules in if/then format.nota
Ao sugerir mudanças nas regras, a CLI do Kiro pode tentar se ajustar demais ao exemplo específico e criar regras que não sejam úteis em outros casos de uso. Verifique a saída do teste e dê orientação à CLI do Kiro para focá-la no problema certo.
Por exemplo, pedir a Kiro que altere o exemplo de política de lição de casa para que o
SATISFIABLEteste retorneVALIDpode levar Kiro a sugerir a adição de axiomas à política que façam com que o teste sempre passe, como criar uma regra que diga.(false isHomeworkSubmissionAcceptable)Isso garantiria que o valor fosse sempre falso. Embora isso corrija tecnicamente o teste problemático, isso prejudica a funcionalidade geral da política. Analisando os cenários retornados pelo resultado doSATISFIABLEteste, você pode ver que fornecem ao Kiro CLI uma orientação melhor para criar uma nova regra que cubra apenas as restrições especificadas no teste ou atualize as regras existentes para verificar apenas as restrições do teste: -
Quando estiver satisfeito com as alterações sugeridas, peça à CLI do Kiro que envie as anotações e as revise usando a interface de usuário do console:
Looks good. Can you start a build workflow to apply these changes to the policy. -
Depois de aplicar as alterações e passar para o próximo teste com falha, peça ao Kiro CLI para recarregar a versão mais recente da política:
I applied the changes. Reload the latest build of the policy.
Próximas etapas
Quando estiver satisfeito com a política de raciocínio automatizado, você pode implantá-la para uso no Amazon Bedrock Guardrails. Para obter mais informações, consulte Implantar uma política de raciocínio automatizado em uma aplicação.
Aviso de contexto da API de política de raciocínio automatizado
Copie o conteúdo a seguir e salve-o em um arquivo Markdown na pasta do projeto para o Kiro CLI. Esse prompt fornece ao Kiro CLI o contexto necessário para trabalhar corretamente com a política de raciocínio APIs automatizado.
# Automated Reasoning Policy APIs and Workflows ## Table of Contents ### Core APIs - Policy Management - Policy Versions - Build Workflows - Test Management - Annotations & Scenarios ### Build Workflow Types - INGEST_CONTENT Workflow - REFINE_POLICY Workflow - IMPORT_POLICY Workflow ### Annotation Type Reference - Type Management Annotations - Variable Management Annotations - Rule Management Annotations - Natural Language Rule Creation - Feedback-Based Updates ### Common Workflows 1. Getting Started (New Policy) 2. Building Policy from Document 3. Policy Development Cycle 4. REFINE_POLICY Workflow (Annotation-Based) ### Testing Workflow 1. Primary Approach: Scenarios API (Recommended) 2. Secondary Approach: Test Cases (User Experience) 3. Test Result Analysis and Troubleshooting ### Build Workflow Monitoring - Check Build Status - List Build History - Best Practice: Clean Build Management - Troubleshooting Build Failures ### Build Workflow Assets - Asset Types - Understanding Conflicting Rules - Understanding Disjoint Rule Sets - Advanced Quality Report Analysis ### Additional Topics - Policy Version Export - Key Concepts - Important Format Requirements - Policy Modeling Best Practices - ARN Formats ## Core APIs ### Policy Management - `create-automated-reasoning-policy` - Create initial policy (returns policy ARN) - `get-automated-reasoning-policy` - Retrieve policy (DRAFT version by default with unversioned ARN) - `update-automated-reasoning-policy` - Update DRAFT policy with new definition - `delete-automated-reasoning-policy` - Delete policy - `list-automated-reasoning-policies` - List all policies ### Policy Versions - `create-automated-reasoning-policy-version` - Snapshot DRAFT into numbered version - `export-automated-reasoning-policy-version` - Export specific policy version ### Build Workflows - `start-automated-reasoning-policy-build-workflow` - Start build process - `get-automated-reasoning-policy-build-workflow` - Get build workflow status - `cancel-automated-reasoning-policy-build-workflow` - Cancel running build - `delete-automated-reasoning-policy-build-workflow` - Delete build workflow - `list-automated-reasoning-policy-build-workflows` - List build workflows - `get-automated-reasoning-policy-build-workflow-result-assets` - Get compiled policy assets ### Test Management - `create-automated-reasoning-policy-test-case` - Create test case - `get-automated-reasoning-policy-test-case` - Get test case details - `update-automated-reasoning-policy-test-case` - Update test case - `delete-automated-reasoning-policy-test-case` - Delete test case - `list-automated-reasoning-policy-test-cases` - List test cases - `start-automated-reasoning-policy-test-workflow` - Run tests - `get-automated-reasoning-policy-test-result` - Get test results - `list-automated-reasoning-policy-test-results` - List test results ### Annotations & Scenarios - `get-automated-reasoning-policy-annotations` - Get policy annotations - `get-automated-reasoning-policy-next-scenario` - Get next test scenario **Important**: Do NOT use `get-automated-reasoning-policy-annotations` or `update-automated-reasoning-policy-annotations` for the `REFINE_POLICY` workflow. Annotations are passed directly in the `start-automated-reasoning-policy-build-workflow` call. ## Build Workflow Types 1. **INGEST_CONTENT** - Process documents to create/extract policy rules 2. **REFINE_POLICY** - Refine and improve existing policies using annotations 3. **IMPORT_POLICY** - Import policies from external sources ### INGEST_CONTENT Workflow - **Purpose**: Extract policy rules from documents (PDF/TXT) - **Input**: Documents + optional existing policy definition - **Use Cases**: Document-to-policy conversion, incremental policy building - **Content Structure**: `workflowContent.documents[]` **CRITICAL: Complete Policy Definition for Incremental Building** When adding documents to an existing policy, you must include the complete current policy definition: ```json // CORRECT - Incremental policy building { "policyDefinition": { "version": "1.0", "types": [/* ALL existing types */], "rules": [/* ALL existing rules */], "variables": [/* ALL existing variables */] }, "workflowContent": { "documents": [/* New documents to process */] } } ``` ### REFINE_POLICY Workflow - **Purpose**: Iteratively improve policies with targeted modifications - **Input**: Policy definition + annotations for specific changes - **Use Cases**: Kiro CLI suggestions, test-driven improvements, feedback-based refinement - **Content Structure**: `workflowContent.policyRepairAssets.annotations[]` **CRITICAL: Complete Policy Definition Required** ALL build workflows require the COMPLETE existing policy definition in the `policyDefinition` section, not just the changes you want to make. **REFINE_POLICY Annotation Types:** **Top-Level Annotations:** - **Type Management**: `addType`, `updateType`, `deleteType` - **Variable Management**: `addVariable`, `updateVariable`, `deleteVariable` - **Rule Management**: `addRule`, `updateRule`, `deleteRule` - **Natural Language Rules**: `addRuleFromNaturalLanguage` - **Feedback-Based Updates**: `updateFromRulesFeedback`, `updateFromScenarioFeedback` **Sub-Operations (only within `updateType`):** - `addTypeValue`, `updateTypeValue`, `deleteTypeValue` - Used to modify values within an existing custom type **important**: Only create rules in if/then format. ## Annotation Type Reference ### Type Management Annotations #### `addType` - Create New Custom Type ```json { "addType": { "name": "ApprovalStatus", "description": "Status values for approval requests", "values": [ { "value": "PENDING", "description": "Request is awaiting approval" }, { "value": "APPROVED", "description": "Request has been approved" }, { "value": "REJECTED", "description": "Request has been rejected" } ] } } ``` #### `updateType` - Modify Existing Custom Type ```json { "updateType": { "name": "ApprovalStatus", "newName": "RequestStatus", "description": "Updated status values for all request types", "values": [ { "addTypeValue": { "value": "ESCALATED", "description": "Request escalated to higher authority" } }, { "updateTypeValue": { "value": "PENDING", "newValue": "WAITING", "description": "Request is waiting for review" } }, { "deleteTypeValue": { "value": "REJECTED" } } ] } } ``` #### `deleteType` - Remove Custom Type ```json { "deleteType": { "name": "ObsoleteType" } } ``` ### Variable Management Annotations #### `addVariable` - Create New Variable ```json { "addVariable": { "name": "requestAmount", "type": "real", "description": "The monetary amount of the approval request in USD" } } ``` #### `updateVariable` - Modify Existing Variable ```json { "updateVariable": { "name": "requestAmount", "newName": "approvalAmount", "description": "The monetary amount requiring approval in USD (updated description)" } } ``` #### `deleteVariable` - Remove Variable ```json { "deleteVariable": { "name": "obsoleteVariable" } } ``` ### Rule Management Annotations #### `addRule` - Create New Rule (SMT-LIB) ```json { "addRule": { "expression": "(=> (and (= userRole MANAGER) (< requestAmount 10000)) (not approvalRequired))" } } ``` #### `updateRule` - Modify Existing Rule ```json { "updateRule": { "ruleId": "A1B2C3D4E5F6", "expression": "(=> (and (= userRole MANAGER) (< requestAmount 5000)) (not approvalRequired))" } } ``` #### `deleteRule` - Remove Rule ```json { "deleteRule": { "ruleId": "G7H8I9J0K1L2" } } ``` ### Natural Language Rule Creation #### `addRuleFromNaturalLanguage` - Convert Natural Language to Rule ```json { "addRuleFromNaturalLanguage": { "naturalLanguage": "Managers can approve expense requests up to $5,000 without additional authorization. Senior managers can approve up to $25,000." } } ``` ### Feedback-Based Updates #### `updateFromRulesFeedback` - Improve Rules Based on Performance ```json { "updateFromRulesFeedback": { "ruleIds": ["A1B2C3D4E5F6", "G7H8I9J0K1L2"], "feedback": "These rules are too restrictive for emergency scenarios. Add exception handling for urgent requests with proper escalation paths." } } ``` #### `updateFromScenarioFeedback` - Improve Based on Test Scenarios ```json { "updateFromScenarioFeedback": { "ruleIds": ["A1B2C3D4E5F6"], "scenarioExpression": "(and (= requestType EMERGENCY) (= userRole MANAGER) (> requestAmount 10000))", "feedback": "Emergency requests should have different approval thresholds. Current rule blocks legitimate emergency expenses." } } ``` **Important**: Do NOT use `get-automated-reasoning-policy-annotations` or `update-automated-reasoning-policy-annotations` for the `REFINE_POLICY` workflow. Annotations are passed directly in the `start-automated-reasoning-policy-build-workflow` call. ## Common Workflows ### 1. Getting Started (New Policy) **CRITICAL: Always Create Policy First** You must create a policy before starting any build workflows. ```bash # Step 1: Create initial policy (REQUIRED FIRST STEP) aws bedrock create-automated-reasoning-policy \ --region us-west-2 \ --name "YourPolicyName" # Step 2: Extract the policyArn from the response above, then start build workflow aws bedrock start-automated-reasoning-policy-build-workflow \ --region us-west-2 \ --policy-arn "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/abcd1234efgh" \ --build-workflow-type INGEST_CONTENT \ --source-content <policy-definition> # Step 3: Get build results aws bedrock get-automated-reasoning-policy-build-workflow-result-assets \ --region us-west-2 \ --policy-arn "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/abcd1234efgh" \ --build-workflow-id <workflow-id> ``` ### 2. Building Policy from Document **RECOMMENDED: Using CLI Input JSON File** ```bash # Step 1: Encode PDF to base64 and create JSON file with base64 content PDF_BASE64=$(base64 -i your-policy.pdf | tr -d '\n') cat > ingest-policy.json << EOF { "policyArn": "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/your-actual-policy-id", "buildWorkflowType": "INGEST_CONTENT", "sourceContent": { "policyDefinition": { "version": "1.0", "types": [], "rules": [], "variables": [] }, "workflowContent": { "documents": [ { "document": "$PDF_BASE64", "documentContentType": "pdf", "documentName": "Company Policy Document", "documentDescription": "Main policy document containing business rules and organizational guidelines." } ] } } } EOF # Step 2: Use the JSON file aws bedrock start-automated-reasoning-policy-build-workflow \ --region us-west-2 \ --cli-input-json file://ingest-policy.json ``` ### 3. Policy Development Cycle ```bash # 1. Import/process policy definition aws bedrock start-automated-reasoning-policy-build-workflow \ --build-workflow-type IMPORT_POLICY # 2. Update DRAFT with processed definition aws bedrock update-automated-reasoning-policy \ --policy-arn <unversioned-arn> \ --policy-definition <build-output> # 3. Create versioned snapshot of DRAFT aws bedrock create-automated-reasoning-policy-version \ --policy-arn <unversioned-arn> ``` ## Testing Workflow ### Primary Approach: Scenarios API (Recommended) Use `get-automated-reasoning-policy-next-scenario` for comprehensive policy validation. The Scenarios API is superior for testing because it: - Tests formal logic directly - Validates policy rules work correctly - AI-generated scenarios - Comprehensive coverage of edge cases and rule interactions - Targets specific rules - Tests individual rules and combinations - Always works - No natural language translation issues - Intelligent test generation - AI understands policy logic deeply ```bash # Generate intelligent test scenarios automatically aws bedrock get-automated-reasoning-policy-next-scenario \ --policy-arn "arn:aws:bedrock:region:account:automated-reasoning-policy/policy-id" \ --build-workflow-id "workflow-123" ``` ### Secondary Approach: Test Cases (User Experience) Use manual test cases to validate natural language translation. ```bash # Create test cases for natural language validation aws bedrock create-automated-reasoning-policy-test-case \ --policy-arn "arn:aws:bedrock:region:account:automated-reasoning-policy/policy-id" \ --guard-content "It is 2:30 PM on a clear day" \ --query-content "What color should the sky be?" \ --expected-aggregated-findings-result "VALID" ``` ### Test Result Analysis and Troubleshooting **Understanding Test Results:** **Scenarios API Results:** - `expectedResult: SATISFIABLE` - Policy logic works correctly - API errors or logic conflicts - Policy needs fixing with REFINE_POLICY **Common Test Case Failure Modes:** 1. **TRANSLATION_AMBIGUOUS** - Problem: AI can't map natural language to policy variables - Solution: Improve variable descriptions with more natural language synonyms 2. **SATISFIABLE when expecting VALID** - Problem: Your expected result label is likely WRONG, not the policy - SATISFIABLE = "This scenario is logically consistent with the policy rules" - VALID = "This is the correct/expected answer according to the policy" - Solution: Change `expectedAggregatedFindingsResult` from `VALID` to `SATISFIABLE` 3. **Empty testFindings arrays** - Problem: Translation issues, not rule violations - Solution: Focus on improving natural language descriptions, not policy logic ## Build Workflow Monitoring **Critical Build Limits**: The API supports maximum 2 total build workflows per policy, with only 1 allowed to be IN_PROGRESS at any time. When a build workflow completes, you can instruct the user to review the output using the console. ### Check Build Status ```bash aws bedrock get-automated-reasoning-policy-build-workflow \ --policy-arn "arn:aws:bedrock:region:account:automated-reasoning-policy/policy-id" \ --build-workflow-id "workflow-123" ``` ### List Build History ```bash aws bedrock list-automated-reasoning-policy-build-workflows \ --policy-arn "arn:aws:bedrock:region:account:automated-reasoning-policy/policy-id" \ --max-results 50 ``` ### Best Practice: Clean Build Management ```bash # 1. Check existing builds before starting new ones aws bedrock list-automated-reasoning-policy-build-workflows \ --policy-arn <policy-arn> \ --max-results 10 # 2. Delete old/completed builds if you have 2 already aws bedrock delete-automated-reasoning-policy-build-workflow \ --policy-arn <policy-arn> \ --build-workflow-id "old-workflow-id" \ --last-updated-at "2025-11-15T00:41:18.608000+00:00" # 3. Now start your new build aws bedrock start-automated-reasoning-policy-build-workflow \ --policy-arn <policy-arn> \ --build-workflow-type INGEST_CONTENT \ --source-content <content> ``` ## Build Workflow Assets After a build workflow completes successfully, you can retrieve various assets. After you complete a build workflow, you can ask the user to check the build diff using the Automated Reasoning checks console. ### Asset Types #### 1. POLICY_DEFINITION - The Main Output ```bash aws bedrock get-automated-reasoning-policy-build-workflow-result-assets \ --policy-arn "arn:aws:bedrock:region:account:automated-reasoning-policy/policy-id" \ --build-workflow-id "workflow-123" \ --asset-type "POLICY_DEFINITION" ``` **What it contains:** - Compiled policy with extracted/refined rules, variables, and types - SMT-LIB expressions for all rules - Complete policy structure ready for deployment #### 2. BUILD_LOG - Build Process Details ```bash aws bedrock get-automated-reasoning-policy-build-workflow-result-assets \ --policy-arn "arn:aws:bedrock:region:account:automated-reasoning-policy/policy-id" \ --build-workflow-id "workflow-123" \ --asset-type "BUILD_LOG" ``` **What it shows:** - Document processing steps - What content was analyzed - Extraction results - What rules, variables, and types were found - Processing warnings - Content that couldn't be interpreted - Success/failure status for each extraction step #### 3. QUALITY_REPORT - Policy Quality Analysis ```bash aws bedrock get-automated-reasoning-policy-build-workflow-result-assets \ --policy-arn "arn:aws:bedrock:region:account:automated-reasoning-policy/policy-id" \ --build-workflow-id "workflow-123" \ --asset-type "QUALITY_REPORT" ``` **What it contains:** - Conflicting rules - Rules that contradict each other - Unused variables - Variables not referenced by any rules - Unused type values - Enum values not used in rules - Disjoint rule sets - Groups of rules that don't interact