In case anyone's referring to the old PR, here is the link to the new PR

https://github.com/apache/airflow/pull/52868

Best,
Wei


On 2025/06/26 12:10:24 Wei Lee wrote:
> I agree with Ash's point. Given how other pipeline tools function, this
> appears to be a standard feature. Additionally, it seems that this tool can
> be utilized in AI, but it doesn't directly relate to it. Therefore, I would
> suggest we avoid using "common.ai."
> 
> Based on my observation of this thread, we're more inclined to add it to
> the standard provider, so I'll continue working in this direction.
> 
> https://github.com/apache/airflow/pull/52053
> This PR is semi-ready. The major functionality is present, but the test and
> docs still need more cases. I'll try to wrap it up these days, but I would
> appreciate it if we could get some early reviews.
> 
> I also tried to create some follow-up tasks related to AIP-90 on this
> board. https://github.com/orgs/apache/projects/508/views/1
> 
> Thanks a lot!
> 
> Best,
> Wei
> 
> Jarek Potiuk <ja...@potiuk.com> 於 2025年6月25日 週三 下午7:26寫道:
> 
> > > You can think of this very similar to the “Approval” step in CircleCI
> > pipelines
> >
> > https://mahira-technology.medium.com/streamlining-your-workflow-implementing-a-manual-approval-step-in-circleci-pipelines-1e6a44905a92
> > and
> > that’s why I think it should be part of the standard provider. (I know some
> > people have run Terraform via Airflow pipelines and this sort of approval
> > step would be useful in those workflows as an example.)
> >
> > Fair point.
> >
> > On Wed, Jun 25, 2025 at 1:23 PM Ash Berlin-Taylor <a...@apache.org> wrote:
> >
> > > I think that this _should_ be in the standard provider  — as Kaxil
> > > mentioned many legacy schedulers (Control-M, Informatica etc) have the
> > > ability to put a workflow on hold until someone approves it, so I think
> > > this deserves to be a part of standard Airflow available to “everyone”,
> > > even if they aren’t doing anything to do with AI, so I think putting it
> > in
> > > common.ai isn’t right.
> > >
> > > You can think of this very similar to the “Approval” step in CircleCI
> > > pipelines
> > >
> > https://mahira-technology.medium.com/streamlining-your-workflow-implementing-a-manual-approval-step-in-circleci-pipelines-1e6a44905a92
> > > and that’s why I think it should be part of the standard provider. (I
> > know
> > > some people have run Terraform via Airflow pipelines and this sort of
> > > approval step would be useful in those workflows as an example.)
> > >
> > > -ash
> > >
> > > > On 25 Jun 2025, at 11:07, Bas Harenslak <b...@astronomer.io.INVALID>
> > > wrote:
> > > >
> > > > I suggest adding it in the standard providers package. The PR (
> > > https://github.com/apache/airflow/pull/52053) adds several core Airflow
> > > changes such as DB schema changes, REST API changes, and UI changes. This
> > > makes it such a native feature that IMO it belongs in the standard
> > package.
> > > >
> > > > Bas
> > > >
> > > >> On 25 Jun 2025, at 11:08, Jarek Potiuk <ja...@potiuk.com> wrote:
> > > >>
> > > >> I am also fine with common.ai . That fits better than standard.
> > > >>
> > > >>
> > > >> On Wed, Jun 25, 2025 at 11:02 AM Amogh Desai <
> > amoghdesai....@gmail.com>
> > > >> wrote:
> > > >>
> > > >>> I am convinced about using HITL too.
> > > >>>
> > > >>> I agree that this should probably be a separate package and should
> > not
> > > be
> > > >>> part of the standard
> > > >>> one if possible due to plenty of reasons mentioned by Jens and
> > others.
> > > >>>
> > > >>> "common.io" sounds to be a very interesting place to start, as this
> > > >>> HITL operator might not be the only
> > > >>> one we will implement in the long run. "human" operator sounds weird
> > > to me.
> > > >>>
> > > >>> Thanks & Regards,
> > > >>> Amogh Desai
> > > >>>
> > > >>>
> > > >>> On Tue, Jun 24, 2025 at 1:43 PM Kaxil Naik <kaxiln...@gmail.com>
> > > wrote:
> > > >>>
> > > >>>> Thanks Wei.
> > > >>>>
> > > >>>> 1) "Human in the Loop": +1 on the naming. Standard names. HITL
> > > acronym is
> > > >>>> also pretty standard (
> > https://en.wikipedia.org/wiki/Human-in-the-loop
> > > |
> > > >>>> https://cloud.google.com/discover/human-in-the-loop). "interactive"
> > > is a
> > > >>>> loaded term and be pretty vague.
> > > >>>> 2) re: Standard vs Separate Provider: Fine with either. But if it is
> > > in a
> > > >>>> separate - the name "human" provider seems odd :) HITL as a
> > > functionality
> > > >>>> makes sense but a "human" provider seems odd to me. If it is
> > separate
> > > and
> > > >>>> becomes part of "common.ai" - I am fine with that. I am equally
> > happy
> > > >>> with
> > > >>>> keeping it in the Standard provider. Seems like a "core"
> > functionality
> > > >>>> compared to Control+M, and other legacy tools as well as new AI
> > tools.
> > > >>>>
> > > >>>> On Tue, 24 Jun 2025 at 10:57, Jarek Potiuk <ja...@potiuk.com>
> > wrote:
> > > >>>>
> > > >>>>> I like HITL as an acronym as well - it's well recognized.
> > > >>>>>
> > > >>>>> Just to add a bit of stir this is an interesting article when
> > someone
> > > >>>> tried
> > > >>>>> to also distinct:
> > > >>>>> *  HITL (Human In the Loop)
> > > >>>>> * with HOTL (Human On the Loop)
> > > >>>>> * and HATL (Human Above the Loop)
> > > >>>>> * and HBTL (Human Behind the Loop)
> > > >>>>>
> > > >>>>> Interesting concepts worth understanding the different roles humans
> > > can
> > > >>>>> play here - But that's more of an interesting side/related read :)
> > .
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>
> > > >>>
> > >
> > https://medium.com/@pawel.rzeszucinski_55101/ai-humans-and-loops-04ee67ac820b
> > > >>>>>
> > > >>>>> :)
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>> On Tue, Jun 24, 2025 at 4:35 AM Wei Lee <weilee...@gmail.com>
> > wrote:
> > > >>>>>
> > > >>>>>> Hi everyone,
> > > >>>>>>
> > > >>>>>> Thank you for joining this discussion! At this point, it seems we
> > > >>> have
> > > >>>>>> reached some consensus.
> > > >>>>>>
> > > >>>>>> For naming, we now agree to use human centric term. To embed the
> > > >>> whole
> > > >>>>>> idea into operators, I will use HITL (apologies for the previous
> > > >>> typo)
> > > >>>>> and
> > > >>>>>> mention "Human in the Loop" in the documentation and docstrings.
> > > >>>>>>
> > > >>>>>> Regarding whether it should be a standalone feature or not, it
> > seems
> > > >>>> more
> > > >>>>>> like while it wouldn’t hurt to add it to the standard, it might be
> > > >>>> better
> > > >>>>>> to keep it separate. I’d like to gather more opinions on this. If
> > we
> > > >>>>> don’t
> > > >>>>>> have a strong opinion about adding it to the standard, I think we
> > > >>>> should
> > > >>>>>> consider separating it. In the meantime, I will use the same PR to
> > > >>>>> develop
> > > >>>>>> the major functionality in the standard provider for easier
> > > >>> development
> > > >>>>> and
> > > >>>>>> move it to a separate one if we reach a clear consensus.
> > > >>>>>>
> > > >>>>>> Thanks!
> > > >>>>>>
> > > >>>>>> Best,
> > > >>>>>> Wei
> > > >>>>>>
> > > >>>>>>> On Jun 24, 2025, at 4:58 AM, Jens Scheffler
> > > >>>> <j_scheff...@gmx.de.INVALID
> > > >>>>>>
> > > >>>>>> wrote:
> > > >>>>>>>
> > > >>>>>>> Hi,
> > > >>>>>>>
> > > >>>>>>> Thanks Wei for taking the lead in starting to implement! Hope I
> > can
> > > >>>>>> review the next days.
> > > >>>>>>>
> > > >>>>>>> as I was writing the AIP together with Vikram I was and still am
> > > >>> for
> > > >>>>>> (=+1) to keep it "human" centric. Also adding an API such that
> > > >>> somebody
> > > >>>>>> else is able to roll their whatever UI and not being locked into
> > > >>>> Airflow
> > > >>>>> UI
> > > >>>>>> but still with the aim to loop-in humans.
> > > >>>>>>>
> > > >>>>>>> For the provider question I am for a separate provider because
> > (1)
> > > >>> it
> > > >>>>>> was as such in the AIP, (2) I see it is optional and we should not
> > > >>>> force
> > > >>>>>> every install to have this (as it has not been there the last 10
> > > >>> years
> > > >>>> I
> > > >>>>>> assume there are many installs not needing it actually and some
> > > >>>>> objections
> > > >>>>>> were raised in the discussion that it is accepted if it is an
> > > >>> optional
> > > >>>>>> feature which it would not be if in standard provider) as well as
> > > (3)
> > > >>>> we
> > > >>>>>> need to adjust the DB and slightly extend this for the human
> > > response
> > > >>>>> data
> > > >>>>>> storage - and I would feel uncomfortable to force this DB
> > extension
> > > >>>> with
> > > >>>>>> every install... then we could also directly package this into
> > core
> > > -
> > > >>>> but
> > > >>>>>> as (2) it should be an optional feature.
> > > >>>>>>>
> > > >>>>>>> As well as (4) other common things like http, ftp, git, sftp,
> > smtp
> > > >>>> are
> > > >>>>>> also pretty like stdnard but are also separate providers. From
> > point
> > > >>> of
> > > >>>>>> security (5) every additional thing adds a bit of complexity and
> > if
> > > >>> you
> > > >>>>>> want to make your setup secure you want to slim it down to the
> > > >>>> functions
> > > >>>>>> you need. Even though minimal if no human interaction is needed
> > then
> > > >>> I
> > > >>>>>> think we should not force every install to have this.
> > > >>>>>>>
> > > >>>>>>> TLDR I'd therefore favor (+1) a separate "human" provider; not
> > > >>>> favoring
> > > >>>>>> (but +0) adding this to standard.
> > > >>>>>>>
> > > >>>>>>> Jens
> > > >>>>>>>
> > > >>>>>>> On 23.06.25 08:02, Amogh Desai wrote:
> > > >>>>>>>> I was not strongly against using "human" -- it just felt a
> > little
> > > >>>> odd
> > > >>>>>> and
> > > >>>>>>>> confusing to me at first.
> > > >>>>>>>>
> > > >>>>>>>> Jarek's email has convinced me that having HITH is contextual in
> > > >>> the
> > > >>>>> AI
> > > >>>>>>>> space and it is kinda what
> > > >>>>>>>> we are doing with this AIP - 90. In fact, using "interactive"
> > now
> > > >>>>> seems
> > > >>>>>> odd
> > > >>>>>>>> that it is not descriptive enough
> > > >>>>>>>> or doesn't highlight the intention of the operator enough.
> > > >>>>>>>>
> > > >>>>>>>> I do not have concerns with whatever we decide to name it :D
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>> Thanks & Regards,
> > > >>>>>>>> Amogh Desai
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>> On Mon, Jun 23, 2025 at 9:42 AM Jarek Potiuk <ja...@potiuk.com>
> > > >>>>> wrote:
> > > >>>>>>>>
> > > >>>>>>>>> In standard Provider, yes
> > > >>>>>>>>>
> > > >>>>>>>>> Re: name: I changed my opinion. Previously I raised concerns
> > > >>> about
> > > >>>>> it,
> > > >>>>>> but
> > > >>>>>>>>> they are gone. The name is IMHO perfect.
> > > >>>>>>>>>
> > > >>>>>>>>> Why do I think "Human-In-The-Loop" is the **right** name. It's
> > a
> > > >>>> very
> > > >>>>>>>>> popular term in AI workflows, and used to interact with the
> > > >>> "real"
> > > >>>>>> human,
> > > >>>>>>>>> and it has a very concrete meaning. Also I think it's really,
> > > >>>> really
> > > >>>>>> worth
> > > >>>>>>>>> looking at the talk by Andrey Karpathy published a few days ago
> > > >>>>>>>>> https://www.youtube.com/watch?v=LCEmiRjPEtQ  - I think it is
> > > >>> very
> > > >>>>>>>>> insightful. Andrey coined the term "Vibe Coding", and I think
> > he
> > > >>> is
> > > >>>>>> one of
> > > >>>>>>>>> the smartest people in the AI space who is not hype-driven -
> > i.e.
> > > >>>> he
> > > >>>>>> seems
> > > >>>>>>>>> to genuinely think that AI is another technology change that is
> > > >>>>>> reinventing
> > > >>>>>>>>> how we do software. Unlike many of others he is not "selling"
> > > >>> their
> > > >>>>>> product
> > > >>>>>>>>> in AI, he seems to be focused on one thing that I believe also
> > is
> > > >>>>>> important
> > > >>>>>>>>> i.e. "Keeping Human in the Loop".
> > > >>>>>>>>>
> > > >>>>>>>>> One of the very interesting things I've learned from that talk
> > is
> > > >>>> how
> > > >>>>>>>>> important it is to provide a good User Interface to AI. I.e.
> > that
> > > >>>> the
> > > >>>>>> chat
> > > >>>>>>>>> interface is cool, and everything but the crucial part of the
> > AI
> > > >>>>>>>>> interaction is to wrap the AI results into actionable, quick
> > and
> > > >>>>>> "nice" way
> > > >>>>>>>>> of interacting with various aspects of AI by Human(s), when the
> > > >>>> input
> > > >>>>>> is
> > > >>>>>>>>> not only important, but crucial to get the real value of AI.
> > > >>>>>>>>>
> > > >>>>>>>>> In this context I think we should focus to make sure that our
> > > >>>> "Human
> > > >>>>> In
> > > >>>>>>>>> the Loop" is indeed designed for the Human - not for LLM
> > > >>> imitating
> > > >>>>>> Human,
> > > >>>>>>>>> not for Agents. It should have a nice, pleasant and efficient
> > > >>>>>>>>> UI, that should allow surfacing all the information that is
> > > >>>> necessary
> > > >>>>>> for
> > > >>>>>>>>> the Human to make the decision. That information should be
> > > >>>>>>>>> nicely formattable, and you should be able to use the typical
> > way
> > > >>>>>>>>> that people interact with it - with controls and everything
> > they
> > > >>>> are
> > > >>>>>>>>> used to. A good interface example of a UI is when you use
> > Copilot
> > > >>>> in
> > > >>>>>> your
> > > >>>>>>>>> IDE for the translation. For example, the information you get
> > (as
> > > >>>>>> human) is
> > > >>>>>>>>> targeted for humans and is very actionable. It is put in
> > context,
> > > >>>> you
> > > >>>>>> can
> > > >>>>>>>>> interact with it individually by accepting individual
> > suggestions
> > > >>>> (or
> > > >>>>>>>>> rejecting them) or accept/reject things in bulk.
> > > >>>>>>>>>
> > > >>>>>>>>> Here is an example: (for those who do not see embedded picture
> > -
> > > >>>> link
> > > >>>>>> here
> > > >>>>>>>>> https://ibb.co/3Y03xN06)
> > > >>>>>>>>>
> > > >>>>>>>>> [image: Screenshot 2025-06-23 at 06.05.38.png]
> > > >>>>>>>>>
> > > >>>>>>>>> We should design "Human In the Loop" of ours in a very similar
> > > >>> way
> > > >>>> -
> > > >>>>>> i.e.
> > > >>>>>>>>> give the author of the "HIL" interaction capability of adding
> > UI
> > > >>>>>>>>> components, surfacing the right information - and having rich
> > > >>>>>> interaction.
> > > >>>>>>>>> Maybe not all the bells and whistles initially (for example
> > it's
> > > >>> ok
> > > >>>>>> for now
> > > >>>>>>>>> to just have bulk decisions on the whole interaction, but I
> > think
> > > >>>>> this
> > > >>>>>>>>> should be our long-term design goal to allow for richer
> > > >>>> interactions.
> > > >>>>>> And -
> > > >>>>>>>>> in this context - "Human in the loop" is a very appropriate
> > name.
> > > >>>>>>>>>
> > > >>>>>>>>> BTW. Slightly related - there is a blog post coming about it
> > > >>> from a
> > > >>>>>> few of
> > > >>>>>>>>> us about AI with internationalisation and how we made it to
> > > >>> follow
> > > >>>>> that
> > > >>>>>>>>> (pretty naturally) with Open-Source spirit - by making sure
> > that
> > > >>> we
> > > >>>>>> keep
> > > >>>>>>>>> Human In the Loop and that it is designed to follow the Open
> > > >>> Source
> > > >>>>>> Spirit,
> > > >>>>>>>>> Foster collaboration.
> > > >>>>>>>>>
> > > >>>>>>>>>
> > > >>>>>>>>> On Mon, Jun 23, 2025 at 4:42 AM Wei Lee <weilee...@gmail.com>
> > > >>>> wrote:
> > > >>>>>>>>>
> > > >>>>>>>>>> Got it! Yes, it makes sense to keep the phrase widely used.
> > > >>>> Thanks a
> > > >>>>>> lot!
> > > >>>>>>>>>> As a compromise, I will try something like `HITHOperator`,
> > which
> > > >>>> may
> > > >>>>>>>>>> address some of the concerns. We can always rename it to
> > > >>> whatever
> > > >>>> we
> > > >>>>>> decide
> > > >>>>>>>>>> before the release. I will also send a follow-up email to this
> > > >>>>> thread
> > > >>>>>> once
> > > >>>>>>>>>> it's ready for review, so that anyone interested can take a
> > > >>> look.
> > > >>>>>>>>>>
> > > >>>>>>>>>> Best,
> > > >>>>>>>>>> Wei
> > > >>>>>>>>>>
> > > >>>>>>>>>>> On Jun 23, 2025, at 10:27 AM, Vikram Koka
> > > >>>>>> <vik...@astronomer.io.INVALID>
> > > >>>>>>>>>> wrote:
> > > >>>>>>>>>>> I agree with the standard provider approach.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> On Sun, Jun 22, 2025 at 7:26 PM Vikram Koka <
> > > >>>> vik...@astronomer.io>
> > > >>>>>>>>>> wrote:
> > > >>>>>>>>>>>> Thanks Wei, I really appreciate the work, and will review it
> > > >>> as
> > > >>>>>> soon as
> > > >>>>>>>>>>>> possible.
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>> With respect to the naming, I believe the Human-in-the-loop
> > is
> > > >>>> the
> > > >>>>>>>>>> right
> > > >>>>>>>>>>>> phrase, because that is recognized as such both in older
> > > >>>> "legacy"
> > > >>>>>>>>>> systems,
> > > >>>>>>>>>>>> as well as the new AI solutions. I agree that it may be less
> > > >>>> than
> > > >>>>>> ideal
> > > >>>>>>>>>>>> from a technical perspective, but from a user perspective, I
> > > >>>>> believe
> > > >>>>>>>>>> it is
> > > >>>>>>>>>>>> better to stick with a known term, rather than to invent our
> > > >>>> own.
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>> On Sun, Jun 22, 2025 at 7:07 PM Wei Lee <
> > weilee...@gmail.com>
> > > >>>>>> wrote:
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>>> Hi fellow Airflower,
> > > >>>>>>>>>>>>>
> > > >>>>>>>>>>>>> I am currently working on a PoC for AIP-90. I've
> > incorporated
> > > >>>>> some
> > > >>>>>>>>>>>>> suggestions based on comments in the voting thread and Jira
> > > >>>> page.
> > > >>>>>>>>>> Since
> > > >>>>>>>>>>>>> they have not yet been included in the AIP, I want to
> > confirm
> > > >>>>> with
> > > >>>>>>>>>> everyone
> > > >>>>>>>>>>>>> to ensure I'm on the right track.
> > > >>>>>>>>>>>>>
> > > >>>>>>>>>>>>> 1. Many have expressed concerns about the term “Human,” so
> > > >>> I'm
> > > >>>>> now
> > > >>>>>>>>>> using
> > > >>>>>>>>>>>>> the term “Interactive” as suggested by Among. For example,
> > I
> > > >>>>> change
> > > >>>>>>>>>>>>> "HumanOperator" to “InteractiveOperator".
> > > >>>>>>>>>>>>> 2. This functionality is now part of the standard provider
> > > >>>> rather
> > > >>>>>> than
> > > >>>>>>>>>>>>> being a separate provider as suggested by Bas and Ash.
> > > >>>>>>>>>>>>>
> > > >>>>>>>>>>>>> Here is the PoC PR.
> > > >>>> https://github.com/apache/airflow/pull/52053
> > > >>>>>>>>>>>>> It's not ready to be reviewed yet, but I'll try to wrap it
> > up
> > > >>>>> over
> > > >>>>>> the
> > > >>>>>>>>>>>>> next few days. Several features are still missing and will
> > be
> > > >>>>>>>>>> implemented
> > > >>>>>>>>>>>>> in the following pull requests. Thanks!
> > > >>>>>>>>>>>>>
> > > >>>>>>>>>>>>> Best regards,
> > > >>>>>>>>>>>>> Wei Lee
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>
> > > >>>>>>>>>>
> > > >>>>>
> > ---------------------------------------------------------------------
> > > >>>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> > > >>>>>>>>>> For additional commands, e-mail: dev-h...@airflow.apache.org
> > > >>>>>>>>>>
> > > >>>>>>>>>>
> > > >>>>>>>
> > > >>>>>>>
> > > >>> ---------------------------------------------------------------------
> > > >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> > > >>>>>>> For additional commands, e-mail: dev-h...@airflow.apache.org
> > > >>>>>>>
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>
> > > ---------------------------------------------------------------------
> > > >>>>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> > > >>>>>> For additional commands, e-mail: dev-h...@airflow.apache.org
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > > >>>>
> > > >>>
> > > >
> > >
> > >
> >
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
For additional commands, e-mail: dev-h...@airflow.apache.org

Reply via email to