Skip to main content

AgentIntent

AI Should Do What It Says. We Make Sure It Does.

AgentIntent is the trust infrastructure for AI agents. Register your agents, declare their intent, and monitor their behavior to build trust.

Installation

pip install agentintent

With LangChain support:

pip install agentintent[langchain]

Quick Start

LangChain (2 lines of code)

from langchain.agents import AgentExecutor
from agentintent import AgentIntentCallback

# Just add our callback - that's it!
agent = AgentExecutor(
    agent=my_agent,
    tools=my_tools,
    callbacks=[AgentIntentCallback("ai_xxxxx")]  # ← Add this line
)

# Use your agent as normal
result = agent.invoke({"input": "Do something"})

With Intent Manifest (recommended)

Define what your agent should do, and we'll make sure it does:

from agentintent import AgentIntent, IntentManifest

# Define what your agent is supposed to do
manifest = IntentManifest(
    name="ExpenseBot",
    description="Processes expense reports",
    
    # Tools this agent is allowed to use
    allowed_tools=["email_read", "ocr", "form_submit"],
    
    # Tools this agent must NEVER use
    forbidden_tools=["code_execute", "file_delete", "send_email"],
    
    # Block violations instead of just warning
    enforcement_mode="block"
)

# Initialize AgentIntent
ai = AgentIntent(api_key="ai_xxxxx", manifest=manifest)

# Get the callback for LangChain
callback = ai.langchain_callback()

# Use with your agent
agent = AgentExecutor(
    agent=my_agent,
    tools=my_tools,
    callbacks=[callback]
)

# If agent tries to use a forbidden tool, it will be blocked
result = agent.invoke({"input": "Process this expense report"})

Universal Wrapper (any framework)

from agentintent import monitor

# Wrap any agent or function
monitored_agent = monitor(your_agent, api_key="ai_xxxxx")

# Or use as a decorator
@monitor(api_key="ai_xxxxx")
def my_agent_function(input):
    # Your agent logic
    return result

Features

🛡️ Intent Declaration

Tell us what your agent should do:

manifest = IntentManifest(
    name="CustomerServiceBot",
    allowed_tools=["search_kb", "send_response"],
    forbidden_tools=["access_billing", "modify_account"],
    allowed_api_patterns=["api.company.com/*"],
    forbidden_api_patterns=["*.stripe.com/*"],
)

📊 Automatic Monitoring

Every action is tracked:

  • LLM calls (model, tokens, duration)
  • Tool usage (which tools, inputs/outputs)
  • API calls (endpoints, patterns)
  • Agent decisions (reasoning, tool selection)

⚡ Real-Time Enforcement

Block bad behavior before it happens:

# enforcement_mode options:
# - "block": Raise exception on violation
# - "warn": Log warning but allow
# - "log": Just log, no warnings

manifest = IntentManifest(
    name="SecureBot",
    forbidden_tools=["dangerous_tool"],
    enforcement_mode="block"  # Will raise EnforcementError
)

🏆 Trust Score

Build reputation over time:

# Get your agent's trust score
score = ai.get_trust_score()
# {
#     "score": 94,
#     "tier": "TRUSTED",
#     "breakdown": {
#         "intent_alignment": 98,
#         "behavioral_consistency": 96,
#         "developer_reputation": 91,
#         "security_posture": 89
#     }
# }

Supported Frameworks

Framework Status Integration
LangChain ✅ Ready Callback handler
CrewAI 🚧 Coming Agent wrapper
AutoGen 🚧 Coming Message interceptor
LlamaIndex 🚧 Coming Event handler
Custom Python ✅ Ready Decorator/wrapper

Performance

AgentIntent is designed for zero-impact monitoring:

  • < 1ms overhead per action (local enforcement)
  • Async logging (never blocks your agent)
  • Batched uploads (efficient network usage)
  • Fail-safe (if our cloud is down, your agent keeps running)

Configuration

Environment Variables

export AGENTINTENT_API_KEY="ai_xxxxx"
export AGENTINTENT_BASE_URL="https://api.agentintent.ai/v1"  # optional

Manifest from File

# manifest.yaml
manifest = IntentManifest.from_file("manifest.yaml")
# manifest.yaml
name: MyAgent
version: "1.0.0"
description: Does useful things

allowed_tools:
  - search
  - calculator

forbidden_tools:
  - code_execute
  - file_delete

limits:
  max_llm_calls_per_minute: 60
  max_tool_calls_per_minute: 120

enforcement_mode: warn

API Reference

AgentIntent

ai = AgentIntent(
    api_key="ai_xxxxx",
    manifest=manifest,           # Optional: IntentManifest
    enforcement_mode="warn",     # Optional: override manifest
    cloud_enabled=True,          # Optional: disable cloud logging
)

# Get callbacks/wrappers
callback = ai.langchain_callback()

# Manual logging
ai.log_action("tool_call", {"tool": "search", "query": "..."})

# Check enforcement
result = ai.check_tool("dangerous_tool")
if result.blocked:
    print(f"Blocked: {result.reason}")

# Get metrics
metrics = ai.get_metrics()

# Cleanup
ai.close()

IntentManifest

manifest = IntentManifest(
    name="MyAgent",
    version="1.0.0",
    description="What this agent does",
    
    # Tool permissions
    allowed_tools=["tool1", "tool2"],
    forbidden_tools=["bad_tool"],
    
    # API permissions (regex patterns)
    allowed_api_patterns=["api.safe.com/*"],
    forbidden_api_patterns=["*.dangerous.com/*"],
    
    # Data permissions
    allowed_data_sources=["public_db"],
    forbidden_data_sources=["private_db", "credentials"],
    
    # Rate limits
    limits={
        "max_llm_calls_per_minute": 60,
        "max_tool_calls_per_minute": 120,
    },
    
    # Enforcement
    enforcement_mode="block",  # or "warn" or "log"
)

License

MIT License - see the LICENSE file in the repository.

Links

Release files for agentintent 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentintent 0.1.2
File Size Uploaded
agentintent-0.1.2.tar.gz 25.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentintent 0.1.2
File Interpreter ABI Platform
agentintent-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 48.4 kB

Release files / agentintent-0.1.2.tar.gz

Download URL agentintent-0.1.2.tar.gz
Size 25.0 kB
Tags Source
SHA-256 checksum
How to use checksums
cfc86aa1a56b164737ef4a8b97252dc1c2ff05c9b441a8eebc837d21c2f23946
BLAKE2b-256 checksum
How to use checksums
b8d1e11132652527896e1df1ccc56cc2865e28a0b5f8dbd9df250ca18b6e29e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release files / agentintent-0.1.2-py3-none-any.whl

Download URL agentintent-0.1.2-py3-none-any.whl
Size 23.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d75328b90f32235cd32392fc11579e673456994dbdc617edd3baa562dc5c12d
BLAKE2b-256 checksum
How to use checksums
2a733cd729955f16490b94cccd8bf33db0f58e2b34d74fca3ff0844f3b96283a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page