27 ms·
> AI Agents can initiate workflows independently and determine their sequence and combination dynamically I'm confused. A workflow has hardcoded branching pat
by nilirl 1y ago
> AI Agents can initiate workflows independently and determine their sequence and combination dynamically
I'm confused.
A workflow has hardcoded branching paths; explicit if conditions and instructions on how to behave if true.
So for an agent, instead of specifying explicit if conditions, you specify outcomes and you leave the LLM to figure out what if conditions apply and how to deal with them?
In the case of this resume screening application, would I just provide the ability to make API calls and then add this to the prompt: "Decide what a good fit would be."?
Are there any serious applications built this way? Or am I missing something?
- manojlds 1y agoNot all applications need to be built this way. But the most serious apps built this way would be deep research Recent article from Anthropic - https://www.anthropic.com/engineering/built-multi-agent-research-system https://www.anthropic.com/engineering/built-multi-agent-rese...
- alganet 1y agoAn AI company doing it is the corporate equivalent of "works on my machine". Can you give us an example of a company not involved in AI research that does it?
- herval 1y agoThere’s plenty of companies using these sorts of agentic systems these days already. In my case, we wrote an LLM that knows how to fetch data from a bunch of sources (logs, analytics, etc) and root causes incidents. Not all sources make sense for all incidents, most queries have crazy high cardinality and the data correlation isn’t always possible. LLMs being pattern matching machines, this allows them to determine what to fetch, then it pattern matches a cause based on other tools it has access (eg runbooks, google searches) I built incident detection systems in the past, and this was orders of magnitude easier and more generalizable for new kinds of issues. It still gives meaningless/obvious reasoning frequently, but it’s far, far better than the alternatives…
- alganet 1y ago> we wrote an LLM Excuse me, what?
- herval 1y agoLLM _automation_. I'm sure you could understand the original comment just fine.
- alganet 1y agoI didn't. This also confused me: > LLMs being pattern matching machines LLMs are _not_ pattern matching. I'm not being pedantic. It is really hard and unreliable to approach them with a pattern matching mindset.
- herval 1y agoif you say so
- alganet 1y agoI stand by it. You can definitely take a base LLM model then train it on existing, prepared root case analysis data. But that's very hard, expensive, and might not work, leaving the model brittle. Also, that's not what an "AI Agent" is. You could also make a workflow that prepares the data, feeds it into a regular model, then asks prepared questions about that data. That's inference, not pattern matching. There's no way an LLM will be able to identify the root cause reliably. You'll probably need a human to evaluate the output at some point. What you mentioned doesn't look like either one of these.
- nilirl 1y agoThanks for the link, it taught me a lot. From what I gather, you can build an agent for a task as long as: - you trust the decision making of an LLM for the required type of decision to be made; so decisions framed as some kind of evaluation of text feels right. - and if the penalty for being wrong is acceptable. Just to go back to the resume screening application, you'd build an agent if: - you asked the LLM to make an evaluation based on the text content of the resume, any conversation with the applicant, and the declared job requirement. - you had a high enough volume of resumes where false negatives won't be too painful. It seems like framing problems as search problems helps model these systems effectively. They're not yet capable of design, i.e, be responsible for coming up with the job requirement itself.
- mickeyp 1y ago> A workflow has hardcoded branching paths; explicit if conditions and instructions on how to behave if true. That is very much true of the systems most of us have built. But you do not have to do this with an LLM; in fact, the LLM may decide it will not follow your explicit conditions and instructions regardless of how hard you you try. That is why LLMs are used to review the output of LLMs to ensure they follow the core goals you originally gave them. For example, you might ask an LLM to lay out how to cook a dish. Then use a second LLM to review if the first LLM followed the goals. This is one of the things tools like DSPy try to do: you remove the prompt and instead predicate things with high-level concepts like "input" and "output" and then reward/scoring functions (which might be a mix of LLM and human-coded functions) that assess if the output is correct given that input.
- mucha 1y agoWhat happens when the LLM responsible for checking decides to ignore your explicit conditions?
- vrighter 1y agoyou bury your hand in the sand and pretend the 2nd llm magically lacks the limitations of the first. Which begs the question... why not use the 2nd llm in the first place if it is the one who actually "knows" the answer?
- rybosome 1y agoAI code generation tools work like this. Let me reword your phrasing slightly to make an illustrative point: > so for an employee, instead of specifying explicit if conditions, you specify outcomes and you leave the human to figure out what if conditions apply and how to deal with them? > Are there any serious applications built this way? We have managed to build robust, reliable systems on top of fallible, mistake-riddled, hallucinating, fabricating, egotistical, hormonal humans. Surely we can handle a little non-determinism in our computer programs? :) In all seriousness, having spent the last few years employed in this world, I feel that LLM non-determinism is an engineering problem just like the non-determinism of making an HTTP request. It’s not one we have prior art on dealing with in this field admittedly, but that’s what is so exciting about it.
- nilirl 1y agoYes, I see your analogy between fallible humans and fallible AI. It's not the non-determinism that was bothering me, it was the decision making capability. I didn't understand what kinds of decisions I can rely on an LLM to make. For example, with the resume screening application from the post, where would I draw the line between the agent and the human? - If I gave the AI agent access to HR data and employee communications, would it be able decide when to create a job description? - And design the job description itself? - And email an opening round of questions for the candidate to get a better sense of the candidates who apply? Do I treat an AI agent just like I would a human new to the job? Keep working on it until I can trust it to make domain-specific decisions?
- diggan 1y ago> would it be able decide when to create a job description? If you can encode how you/your company does that decision as a human with text, I don't see why not. But personally there is a lot of subjectivity (for better or worse) in hiring processes, I'm not sure I'd want a probabilistic rules engine to make those sort of calls. My current system prompt for coding with LLMs basically look like I've written down what my own personal rules for programming is. And anytime I got some results I didn't like, I wrote down why I didn't like it, and codified it in my reusable system prompt, then it doesn't make those (imo) mistakes anymore. I don't think I could realistically get an LLM to do something I don't understand the process of myself, and once you grok the process, you can understand if using an LLM here makes sense or not. > Do I treat an AI agent just like I would a human new to the job? No, you treat it as something much dumber. You can generally rely on some sort of "common sense" in a human that they built up during their time on this planet. But you cannot do that with LLMs, as while they're super-human in some ways, are still way "dumber" in other ways. For example, a human new to a job would pick up things autonomously, while an LLM does not. You need to pay attention to what you need to "teach" the LLM by changing what Karpathy calls the "programming" of the LLM, which would be the prompts. Anything you miss to tell it, the LLM will do whatever with, and it only follows exactly what you say. A human you can usually tell "don't do that in the future" and they'll avoid that in the right context. A LLM you can scream at for 10 hours how they're doing something wrong, but unless you update the programming, they'll continue to make that mistake forever, and if you correct it but reuse it in other contexts, the LLM won't suddenly understand that it doesn't make sense in the context. Just an example, I wanted to have some quick and dirty throw away code for generating a graph, and in my prompt I mixed X and Y axis, and of course got a function that didn't work as expected. If this was a human doing it, it would have been quite obvious I didn't want time on the Y axis and value on the X axis, because the graph wouldn't make any sense, but the LLM happily complied.
- spacecadet 1y agoMore or less. Serious? Im not sure yet. I have several agent side projects going, the most complex and open ended is an agent that performs periodic network traffic analysis. I use an orchestration library with a "group chat" style orchestration. I declare several agents that have instructions and access to tools. These range from termshark scripts for collecting packets and analysis functions I had previously for performing analysis on the traffic myself. I can then say something like, "Is there any suspicious activity?" and the agents collaboratively choose who(which agent) performs their role and therefore their tasks (i.e. Tools) and work together to collect data, analyze the data, and return a response. I also run this on a schedule where the agents know about the schedule and choose to send me an email summary at specific times. I have noticed that the models/agents are very good at picking the "correct" network interface without much input. That they understand their roles and objectives and execute accordingly, again without much direction from me. Now the big/serious question. Is the output even good or useful. Right now with my toy project it is OK. Sometimes it's great and sometimes it's not, sometimes they spam my inbox with micro updates. Im bad at sharing projects, but if you are curious, https://github.com/derekburgess/jaws https://github.com/derekburgess/jaws
- dist-epoch 1y agoResume screening is a clear workflow case: analyze resume -> rank against others -> make decision -> send next phase/rejection email. An agent is like Claude Code, where you say to it "fix this bug", and it will choose a sequence of various actions - change code, run tests, run linter, change code again, do a git commit, ask user for clarification, change code again.
- DebtDeflation 1y agoAlmost every enterprise use case is a clear workflow use case EXCEPT coding/debugging and research (e.g., iterative web search and report compilation). I saw a YT video the other day of someone building an AI Agent to take online orders for guitars - query the catalog and present options to the user, take the configured order from the user, check the inventory system to make sure it's available, and then place the order in the order system. There was absolutely no reason to build this as an Agent burning an ungodly number of tokens with verbose prompts running in a loop only to have it generate a JSON using the exact format specified to place the final order when the same thing could have been done with a few dozen lines of code making a few API calls. If you wanted to do it with a conversational/chat interface, that could easily be done with an intent classifier, slot filling, and orchestration.