Most active commenters
  • simonw(5)
  • th0ma5(5)

←back to thread

Building Effective "Agents"

(www.anthropic.com)
597 points jascha_eng | 35 comments | | HN request time: 0.628s | source | bottom
1. simonw ◴[] No.42475700[source]
This is by far the most practical piece of writing I've seen on the subject of "agents" - it includes actionable definitions, then splits most of the value out into "workflows" and describes those in depth with example applications.

There's also a cookbook with useful code examples: https://github.com/anthropics/anthropic-cookbook/tree/main/p...

Blogged about this here: https://simonwillison.net/2024/Dec/20/building-effective-age...

replies(6): >>42475903 #>>42476486 #>>42477016 #>>42478039 #>>42478786 #>>42479343 #
2. 3abiton ◴[] No.42475903[source]
I'm glad they are publishing their cookbooks recipes on github too. Openai used to be more active there.
replies(1): >>42476213 #
3. refulgentis ◴[] No.42476459{3}[source]
Eh, let's nip this in the bud: we could end up in a "it feels like...", coupled to free association, cycle. :)

More substantively, we can check our vibe. OpenAI is just as active as it ever was w/notebooks. To an almost absurd degree. 5-10 commits a week. https://github.com/openai/openai-cookbook/activity

4. NeutralForest ◴[] No.42476486[source]
Thanks for all the write-ups on LLMs, you're on top of the news and it makes it way easier to follow what's happening and the existing implementations by following your blog instead.
replies(1): >>42481308 #
5. th0ma5 ◴[] No.42477016[source]
How do you protect from compounding errors?
replies(1): >>42478587 #
6. Animats ◴[] No.42478039[source]
Yes, they have actionable definitions, but they are defining something quite different than the normal definition of an "agent". An agent is a party who acts for another. Often this comes from an employer-employee relationship.

This matters mostly when things go wrong. Who's responsible? The airline whose AI agent gave out wrong info about airline policies found, in court, that their "intelligent agent" was considered an agent in legal terms. Which meant the airline was stuck paying for their mistake.

Anthropic's definition: Some customers define agents as fully autonomous systems that operate independently over extended periods, using various tools to accomplish complex tasks.

That's an autonomous system, not an agent. Autonomy is about how much something can do without outside help. Agency is about who's doing what for whom, and for whose benefit and with what authority. Those are independent concepts.

replies(5): >>42478093 #>>42478201 #>>42479305 #>>42480149 #>>42481749 #
7. solidasparagus ◴[] No.42478093[source]
That's only one of many definitions for the word agent outside of the context of AI. Another is something produces effects on the world. Another is something that has agency.

Sort of interesting that we've coalesced on this term that has many definitions, sometimes conflicting, but where many of the definitions vaguely fit into what an "AI Agent" could be for a given person.

But in the context of AI, Agent as Anthropic defines it is an appropriate word because it is a thing that has agency.

replies(1): >>42478308 #
8. simonw ◴[] No.42478201[source]
Where did you get the idea that your definition there is the "normal" definition of agent, especially in the context of AI?

I ask because you seem very confident in it - and my biggest frustration about the term "agent" is that so many people are confident that their personal definition is clearly the one everyone else should be using.

replies(2): >>42478826 #>>42478885 #
9. Animats ◴[] No.42478308{3}[source]
> But in the context of AI, Agent as Anthropic defines it is an appropriate word because it is a thing that has agency.

That seems circular.

replies(1): >>42478992 #
10. tlarkworthy ◴[] No.42478587[source]
read the article, close the feedback loop with something verifiable (e.g. tests)
replies(1): >>42481301 #
11. dmezzetti ◴[] No.42478786[source]
If you're looking for a lightweight open-source framework designed to handle the patterns mentioned in this article: https://github.com/neuml/txtai

Disclaimer: I'm the author of the framework.

replies(1): >>42481123 #
12. PhilippGille ◴[] No.42478826{3}[source]
Didn't he mention it was the court's definition?

But I'm not sure if that's true. The court didn't define anything, in contrary they only said that (in simplified terms) the chatbot was part of the website and it's reasonable to expect the info on their website to be accurate.

The closest I could find to the chatbot being considered an agent in legal terms (an entity like an employee) is this:

> Air Canada argues it cannot be held liable for information provided by one of its agents, servants, or representatives – including a chatbot.

Source: https://www.canlii.org/en/bc/bccrt/doc/2024/2024bccrt149/202...

13. JonChesterfield ◴[] No.42478885{3}[source]
Defining "agent" as "thing with agency" seems legitimate to me, what with them being the same word.
replies(1): >>42479373 #
14. Nevermark ◴[] No.42478992{4}[source]
It would only be circular if agency was only defined as “the property of being an agent”. That circle of reasoning isn’t being proposed as the formal definitions by anyone.

Perhaps you mean tautological. In which case, an agent having agency would be an informal tautology. A relationship so basic to the subject matter that it essentially must be true. Which would be the strongest possible type of argument.

15. pvg ◴[] No.42479305[source]
AI people have been using a much broader definition of 'agent' for ages, though. One from Russel and Norvig's 90s textbook:

"Anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators"

https://en.wikipedia.org/wiki/Intelligent_agent#As_a_definit...

replies(1): >>42483983 #
16. adeptima ◴[] No.42479343[source]
100% agree. I did a research on workflows, durable execution engines in context of Agents and RAGs. Put some links in a comment to the article below
17. simonw ◴[] No.42479373{4}[source]
That logic doesn't work for me, because many words have multiple meanings. "Agency" can also be a noun that means an organization that you hire - like a design agency. Or it can mean the CIA.

I'm not saying it's not a valid definition of the term, I'm pushing back on the idea that it's THE single correct definition of the term.

replies(2): >>42481146 #>>42481493 #
18. jeffreygoesto ◴[] No.42480149[source]
And "autonomous" is "having one's own laws".

https://www.etymonline.com/word/autonomous

19. threecheese ◴[] No.42481123[source]
Hi David; I’ve seen txtai floating around, and just took a look. Would you say that it fits in a similar niche to something like llamaindex, but starting from a data/embeddings abstraction rather than a retrieval one (building on layers from there - like workflows, agents etc)?
replies(1): >>42483033 #
20. Nekit1234007 ◴[] No.42481146{5}[source]
May I push back on the idea that a single word may mean (completely) different things?
replies(4): >>42481317 #>>42481479 #>>42481545 #>>42482230 #
21. th0ma5 ◴[] No.42481301{3}[source]
And who tests the tests, etc
22. th0ma5 ◴[] No.42481308[source]
Probably the least critical and most myth pushing content imo.
replies(1): >>42481680 #
23. chrisweekly ◴[] No.42481479{6}[source]
What's the single, unambiguous definition of the word "cleave"?
24. Der_Einzige ◴[] No.42481493{5}[source]
Anything involving real agents likely does get your local spymaster interested. I assume all good AI work attracts the three letter types to make sure that the researcher isn’t trying to make AI that can make bioweapons…
25. ToValueFunfetti ◴[] No.42481545{6}[source]
Aloha! Indeed, the language is being cleaved by such oversights. You can be in charge of overlooking this issue, effective ahead of two weeks from now. We'll peruse your results and impassionately sanction anything you call out (at least when it's unravelable). This endeavor should prove invaluable. Aloha!
26. herecomethefuzz ◴[] No.42481680{3}[source]
> most myth pushing content

Care to elaborate?

replies(1): >>42481986 #
27. jcims ◴[] No.42481749[source]
>Anthropic's definition: Some customers define agents as fully autonomous systems that operate independently over extended periods, using various tools to accomplish complex tasks.

But that's not their definition, and they explicitly describe that definition as an 'autonomous system'. Their definition comes in the next paragraph:

"At Anthropic, we categorize all these variations as agentic systems, but draw an important architectural distinction between workflows and agents:

* Workflows are systems where LLMs and tools are orchestrated through predefined code paths. Agents, on the other hand, are systems where LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks.

* Agents, on the other hand, are systems where LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks."

28. th0ma5 ◴[] No.42481986{4}[source]
Lots of lists of the myths of LLMs out there https://masterofcode.com/blog/llms-myths-vs-reality-what-you... Every single post glosses over some aspect of these myths or posits they can be controlled or mitigated in some way, with no examples of anyone else finding applicability of the solutions to real world problems in a supportable and reliable way. When pushed, a myth in the neighborhood of those in the list above is pushed like the system will get better, or some classical computing mechanism will make up the difference, or that the problems aren't so bad, the solution is good enough in some ambiguous way, or that people or existing systems are just as bad when they are not.
replies(1): >>42482144 #
29. simonw ◴[] No.42482144{5}[source]
I've written extensively about myths and misconceptions about LLMs, much of which overlaps with the observations in that post.

Here's my series about misconceptions: https://simonwillison.net/series/llm-misconceptions/

It doesn't seem to me that you're familiar with my work - you seem to be mixing me in with the vast ocean of uncritical LLM boosting content that's out there.

replies(1): >>42483664 #
30. simonw ◴[] No.42482230{6}[source]
It's pretty clearly true.

Bank: financial institution, edge of a river, verb to stash something away

Spring: a season, a metal coil, verb to jump

Match: verb to match things together, noun a thing to start fires, noun a competition between two teams

Bat: flying mammal, stick for hitting things

And so on.

31. dmezzetti ◴[] No.42483033{3}[source]
Hello - This is a great and accurate description. The idea is that out of the box there is a pipeline but each component is also customizable.
32. th0ma5 ◴[] No.42483664{6}[source]
I'm thinking of the system you built to watch videos and parse JSON and the claims of that having a general suitability, which is simply dishonest imo. You seem to be confusing me with someone that hasn't been asking you repeatedly to address these kinds of concerns and the above series are a kind of potemkin set of things that don't intersect with your other work.
33. minasmorath ◴[] No.42483983{3}[source]
That definition feels like it's playing on the verb, the idea of having "agency" in the world, and not on the noun, of being an "agent" for another party. The former is a philosophical category, while the latter has legal meaning and implication, and it feels somewhat disingenuous to continue to mix them up in this way.
replies(2): >>42484022 #>>42484981 #
34. AnimalMuppet ◴[] No.42484022{4}[source]
Interesting. The best agents don't have agency, or at least don't use it.

You can think of this in video game terms: Players have agency. NPCs are "agencs", but don't have agency. But they're still not just objects in the game - they can move themselves and react to their environment.

35. pvg ◴[] No.42484981{4}[source]
In what way is it 'disingenuous'? You think Norvig is trying to deceive us about something? I'm not saying you have to agree with or like this definition but even if you think it's straight up wrong, 'disingenuous' feels utterly out of nowhere.