惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Troy Hunt's Blog
Scott Helme
Scott Helme
T
Threat Research - Cisco Blogs
T
Tenable Blog
L
LINUX DO - 热门话题
V
Visual Studio Blog
I
Intezer
Blog — PlanetScale
Blog — PlanetScale
Cisco Talos Blog
Cisco Talos Blog
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
Know Your Adversary
Know Your Adversary
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
Netflix TechBlog - Medium
SecWiki News
SecWiki News
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Project Zero
Project Zero
W
WeLiveSecurity
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
Recorded Future
Recorded Future
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
S
Securelist
Spread Privacy
Spread Privacy
L
LangChain Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Last Watchdog
The Last Watchdog
Attack and Defense Labs
Attack and Defense Labs
博客园 - 司徒正美
Help Net Security
Help Net Security
L
Lohrmann on Cybersecurity
人人都是产品经理
人人都是产品经理
Forbes - Security
Forbes - Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
PCI Perspectives
PCI Perspectives
博客园 - 【当耐特】
T
Tor Project blog

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor GitHub - GenAI-Gurus/awesome-eu-ai-act: Curated tools, official sources, OSS, templates, and guides for EU AI Act compliance. Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders How to Switch AI Chatbots and Why You Might Want To GitHub - MattMessinger1/agentic_refund_guardrail: Safe refund policy layer for AI agents — Python + TypeScript. Same behavior, shared tests. Adam/papers/emergent_values_whitepaper.md at master · strangeadvancedmarketing/Adam Ask HN: How do you stop playing 20 questions with your AI coding tools How far can automation and AI support psychotherapy? - @theU GitHub - stagas/rtdiff: realtime git diff gui and AI-assisted commits A Mac Studio for Local AI — 6 Months Later A History of the Early Years of AI at the University of Edinburgh Why AI Coding Tools Still Feel Stuck on Localhost MSN AI Datacenters Are Becoming Strategic Targets twitter.com Penn Researchers Use AI to Surface Unreported GLP-1 Side Effects in Reddit Posts Show HN: MoodSense AI (ML and FastAPI and Gradio, Deployed on Hugging Face) Moodsense Ai - a Hugging Face Space by aman179102 AI models are terrible at betting on soccer—especially xAI Grok GitHub - xialeistudio/echoic GitHub - HimashaHerath/github-dev-wrapped: AI-powered weekly GitHub activity reports deployed to GitHub Pages GitHub - alejandrobalderas/claude-code-from-source: Architecture, patterns & internals of Anthropic's AI coding agent — reverse-engineered from source maps AI and Tech brief: Ireland ascendant GitHub - Titovilal/context0: Context0 - Never Surrender Training for a Marathon with an AI Coach: What Worked and What Didn't Cyber Pulse: Agentic Intel - Apps on Google Play I Built an AI PR Reviewer That Catches Bugs by Not Looking for Bugs Gen Z workers are so fearful AI will take their job they’re intentionally sabotaging their company’s AI rollout | Fortune How AI Is Reimagining the Game of Golf–For Both Players and Courses GitHub - nattergabriel/reseed: A CLI tool for managing and distributing agent skills across projects Is SVG the final frontier? My AI workflow evolved from prompts to a near-autonomous workflow MLSharp Help - 3DGS Viewer & Generator I put my cognitive field based AI's runtime on GitHub Is Numble the first AI-proof game? A3: Kubernetes for autonomous AI agent fleets | Emergent Principles Deepali Vyas ("The Elite Recruiter") GitHub - msmarkgu/RelayFreeLLM: A restful API designed to route user prompts to various AI model providers. Unionized ProPublica staff are on strike over AI, layoffs, and wages Unleashing the Advantage of Quantum AI We're heading for an AI-fueled 'dementia crisis,' brain scientist warns The AI-Assisted Breach of Mexico's Government Infrastructure [pdf] GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. MSN GitHub - visionscaper/collabmem: Enabling long-term collaboration with Agentic AI - building up episodic and world model memory over time with in-context awareness We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs AI Code is Hollowing Out Open Source, and Maintainers are Looking the Other Way What leaked "SteamGPT" files could mean for the PC gaming platform's use of AI AI is the boss at this retail store. What could go wrong? GitHub - Wuzu11517/agentic-proxy: Local proxy meant to help reduce With Drones, Geophysics and ArtificiaI Intelligence, Researchers Prepare to Do Battle Against Land Mines A Single Operator, Two AI Platforms, Nine Government Agencies: The Full Technical Report 在 Steam 上购买 FriedrichAI: Offline AI 立省 10% GitHub - inevolin/resume-cli: Hit Claude usage limits? Resume any AI coding session elsewhere. Switch tools at zero friction. GitHub - atripati/ark: AI Runtime Kernel — a context operating system for AI agents. Eliminates tool bloat, loads only what’s needed, and gives LLMs their reasoning space back. How to Build a Secure AI PR Reviewer with Claude, GitHub Actions, and JavaScript This Startup Wants You to Pay Up to Talk With AI Versions of Human Experts Intel Arc Pro B70 Brings 32GB VRAM to Local AI for $949 WordPress 7.0: The Good, the AI, and the Still Missing AI on the couch: Anthropic gives Claude 20 hours of psychiatry IatroBench: Pre-Registered Evidence of Iatrogenic Harm from AI Safety Measures AI Agents Know About Supabase. They Don't Always Use It Right. The history and future of AI at Google, with Sundar Pichai Inside an AI‑enabled device code phishing campaign How Meta Used AI to Map Tribal Knowledge in Large-Scale Data Pipelines AI for Systems: Using LLMs to Optimize Database Query Execution Forecasting the Economic Effects of AI Introducing Tinker: Play with AI, bring your ideas to life AI sheds light on an ancient gaming mystery People really hate AI but not as much as Iran—or Democrats | Fortune What is an AI Product Engineer? Phoebe Gates wants her $185 million AI startup to succeed with 'no ties to my privilege or my last name': 'I have a chip on my shoulder' | Fortune
Introducing the Common AI Provider: LLM and AI Agent Support for Apache Airflow
jonbaer · 2026-04-16 · via Hacker News - Newest: "AI"

At Airflow Summit 2025, we previewed what native AI integration in Apache Airflow could look like. Today we’re shipping it.

apache-airflow-providers-common-ai 0.1.0 adds LLM and agent capabilities directly to Airflow. Not a wrapper around another framework, but a provider package that plugs into the orchestrator you already run. It’s built on Pydantic AI and supports 20+ model providers (OpenAI, Anthropic, Google, Azure, Bedrock, Ollama, and more) through a single install.

pip install 'apache-airflow-providers-common-ai'

Requires Apache Airflow 3.0+.

Note: This is a 0.x release. We’re actively looking for feedback and iterating fast, so breaking changes are possible between minor versions. Try it, tell us what works and what doesn’t. Your input directly shapes the API.

By the Numbers

6 Operators
6 TaskFlow decorators
5 Toolsets
4 Connection types
20+ Supported model providers via Pydantic AI

The Decorator Suite

Every operator has a matching TaskFlow decorator.

@task.llm: Single LLM Call

Send a prompt, get text or structured output back.

from pydantic import BaseModel
from airflow.providers.common.compat.sdk import dag, task


@dag
def my_pipeline():
    class Entities(BaseModel):
        names: list[str]
        locations: list[str]

    @task.llm(
        llm_conn_id="my_openai_conn",
        system_prompt="Extract named entities.",
        output_type=Entities,
    )
    def extract(text: str):
        return f"Extract entities from: {text}"

    extract("Alice visited Paris and met Bob in London.")


my_pipeline()

The LLM returns a typed Entities object, not a string you have to parse. Downstream tasks get structured data through XCom.

@task.agent: Multi-Step Agent with Tools

When the LLM needs to query databases, call APIs, or read files across multiple steps, use @task.agent. The agent picks which tools to call and loops until it has an answer.

from airflow.providers.common.ai.toolsets.sql import SQLToolset
from airflow.providers.common.compat.sdk import dag, task


@dag
def sql_analyst():
    @task.agent(
        llm_conn_id="my_openai_conn",
        system_prompt="You are a SQL analyst. Use tools to answer questions with data.",
        toolsets=[
            SQLToolset(
                db_conn_id="postgres_default",
                allowed_tables=["customers", "orders"],
                max_rows=20,
            )
        ],
    )
    def analyze(question: str):
        return f"Answer this question about our data: {question}"

    analyze("What are the top 5 customers by order count?")


sql_analyst()

Under the hood, the agent calls list_tables, get_schema, and query on its own until it has the answer.

@task.llm_branch: LLM-Powered Branching

The LLM decides which downstream task(s) to run. No string parsing. The LLM returns a constrained enum built from the task’s downstream IDs.

@task.llm_branch(
    llm_conn_id="my_openai_conn",
    system_prompt="Classify the support ticket priority.",
)
def route_ticket(ticket_text: str):
    return f"Classify this ticket: {ticket_text}"

@task.llm_sql: Text-to-SQL with Safety Rails

Generates SQL from natural language. The operator introspects your database schema and validates the output via AST parsing (sqlglot) before execution.

from airflow.providers.common.compat.sdk import dag, task


@dag
def sql_generator():
    @task.llm_sql(
        llm_conn_id="my_openai_conn",
        db_conn_id="postgres_default",
        table_names=["orders", "customers"],
        dialect="postgres",
    )
    def build_query(ds=None):
        return f"Find customers who placed no orders after {ds}"

    build_query()


sql_generator()

@task.llm_file_analysis: Analyze Files with LLMs

Point it at files in object storage (S3, GCS, local) and let the LLM analyze them. Supports CSV, Parquet, Avro, JSON, and images (multimodal).

LLM analyzing a CSV file — identifying columns, counting rows, computing totals

It also handles multimodal input. Set multi_modal=True and the operator sends images and PDFs as binary attachments to the LLM.

@task.llm_schema_compare: Cross-Database Schema Drift

Compares schemas across databases and returns structured SchemaMismatch results with severity levels. Handles the type mapping headaches across systems (varchar(n) vs string, timestamp vs timestamptz).

350+ Hooks as AI Tools

Airflow already has 350+ provider hooks with typed methods, docstrings, and managed credentials. S3Hook, GCSHook, SlackHook, SnowflakeHook, DbApiHook. They all authenticate through Airflow’s secret backend, and they all already work.

Rather than setting up separate MCP servers with their own auth for each integration, HookToolset lets agents call hook methods directly using the connections you’ve already configured.

HookToolset turns any of them into AI agent tools:

from airflow.providers.amazon.aws.hooks.s3 import S3Hook
from airflow.providers.common.ai.toolsets.hook import HookToolset

# S3Hook methods become agent tools: the agent can list, read, and check S3 objects
HookToolset(
    S3Hook(aws_conn_id="aws_default"),
    allowed_methods=["list_keys", "read_key", "check_for_key"],
    tool_name_prefix="s3_",
)

The introspection engine builds JSON Schema from method signatures and enriches tool descriptions from docstrings (Sphinx and Google style). You explicitly declare which methods to expose. No auto-discovery, no unintended access. The agent sees s3_list_keys, s3_read_key, s3_check_for_key as typed tools with parameter descriptions pulled straight from the hook.

This works with any hook. Want your agent to send Slack messages? HookToolset(SlackHook(...), allowed_methods=["send_message"]). Query Snowflake? Use SQLToolset with a Snowflake connection. Hit an internal API? HookToolset(HttpHook(...), allowed_methods=["run"]).

You can also compose multiple toolsets in a single agent. Give it SQLToolset for database access and HookToolset for API calls, and the agent picks the right tool for each step.

Four toolsets ship with the provider:

Toolset What it does
SQLToolset list_tables, get_schema, query, check_query for any DbApiHook database
HookToolset Wraps any Airflow hook’s methods as agent tools
MCPToolset Connects to external MCP servers via Airflow Connections
DataFusionToolset SQL over files in object storage (S3, other to come soon) via Apache DataFusion

All toolsets resolve connections lazily through BaseHook.get_connection(). No hardcoded keys.

Here’s what an agent SQL analysis looks like in the Airflow task logs. The agent explored the schema, wrote queries, and produced a structured summary:

Agent SQL analysis showing tool calls and structured output in Airflow task logs

Not Locked Into Decorators

You don’t have to use @task.agent or the operator classes. Pydantic AI works directly from a plain @task, PythonOperator, or any custom operator:

from pydantic_ai import Agent
from airflow.providers.common.ai.hooks.pydantic_ai import PydanticAIHook
from airflow.providers.common.ai.toolsets.sql import SQLToolset
from airflow.providers.common.compat.sdk import dag, task


@dag
def raw_pydantic_ai():
    @task
    def multi_agent():
        hook = PydanticAIHook(llm_conn_id="my_openai_conn")
        model = hook.get_conn()

        agent = Agent(
            model,
            system_prompt="You are a SQL analyst.",
            toolsets=[SQLToolset(db_conn_id="postgres_default")],
        )
        result = agent.run_sync("What are the top products by revenue?")
        return result.output

    multi_agent()


raw_pydantic_ai()

This gives you full control: run multiple agent calls in one task, swap models at runtime, combine outputs from different agents before returning.

@task.agent adds guardrails on top (durable execution, HITL review, automatic tool logging). Raw Pydantic AI skips those. Both paths use the same toolsets.

Human-in-the-Loop

Not every LLM output should go straight to production. The provider has two levels of human oversight.

Approval gates: the task defers after generating output and waits for a human to approve before downstream tasks run:

LLMOperator(
    task_id="summarize_report",
    prompt="Summarize the quarterly financial report for stakeholders.",
    llm_conn_id="my_openai_conn",
    require_approval=True,
    approval_timeout=timedelta(hours=24),
    allow_modifications=True,  # reviewer can edit the output
)

Iterative review: a human reviews agent output, approves, rejects, or requests changes, and the agent revises in a loop:

AgentOperator(
    task_id="analyst",
    prompt="Summarize the Q4 sales report.",
    llm_conn_id="my_openai_conn",
    enable_hitl_review=True,
    max_hitl_iterations=5,
    hitl_timeout=timedelta(minutes=30),
)

A built-in plugin adds the review UI to the Airflow web interface.

Human-in-the-loop approval interface showing the generated output with approve, reject, and modify options

Human-in-the-loop review tab in the task instance page

Durable Execution

LLM agent calls are expensive. When a 10-step agent task fails on step 8, a retry shouldn’t re-run all 10 steps and double your API bill. A single parameter fixes this:

AgentOperator(
    task_id="analyst",
    prompt="Analyze quarterly trends across all regions.",
    llm_conn_id="my_openai_conn",
    toolsets=[SQLToolset(db_conn_id="postgres_default")],
    durable=True,
)

With durable=True, each model response and tool result is cached to ObjectStorage as the agent runs. On retry, cached steps replay instantly: no repeated LLM calls, no repeated tool execution. The cache is deleted after successful completion.

Say the agent ran list_tables, get_schema, get_schema, query, then hit a transient failure:

Attempt 1: agent runs tool calls then fails on a transient error

On retry, those 4 tool calls and 4 model responses replay from cache in milliseconds. The agent picks up exactly where it left off:

Attempt 2: cached steps replayed instantly, agent continues from where it left off

The summary line tells you exactly what happened:

Durable execution summary showing replayed vs fresh steps

Works with any ObjectStorage backend (local filesystem for dev, S3/GCS for production) and any toolset.

Any Model, One Interface

Configure your LLM connection once. Switch providers by changing the connection, not the DAG code.

Four connection types:

Connection Type Provider Model Format
pydanticai OpenAI, Anthropic, Groq, Mistral, Ollama, vLLM, and others openai:gpt-5, anthropic:claude-sonnet-4-20250514
pydanticai-azure Azure OpenAI azure:gpt-4o
pydanticai-bedrock AWS Bedrock bedrock:us.anthropic.claude-opus-4-5
pydanticai-vertex Google Vertex AI google-vertex:gemini-2.0-flash

Each type has dedicated UI fields in Airflow’s connection form (API keys, endpoints, region, project, service account info), all stored in Airflow’s secret backend.

Under the hood, the agent runtime is Pydantic AI, which handles structured output, tool calling, and conversation management with proper typing.

Full Observability

Every LLM task logs token usage and tool calls to Airflow’s metadata DB. The full conversation history is stored too, so you can audit what the agent did after the fact.

AgentOperator enables tool logging by default. Each tool call appears at INFO level with execution time, arguments at DEBUG level.

Tool call logging showing collapsible log groups with timing in the Airflow UI

What’s Next

These are directions we’re exploring, not commitments. What actually ships depends on what the community needs. Tell us what matters to you.

  • Google ADK backend: AgentOperator with Google’s Agent Development Kit as an alternative to Pydantic AI, with session management, ADK callbacks, and multi-agent workflows
  • Asset integration: automatic schema context from Airflow Assets, lineage tracking for LLM-generated queries
  • Cost controls (AIBudget): token limits and cost caps per task, DAG, or team
  • Multi-agent orchestration: patterns for composing agents across tasks
  • Model evaluation: integration with pydantic-evals for testing LLM behavior

Get Involved