aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/aflow/llm_tool_test.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/aflow: add Flow.Consts instead of ProvideDmitry Vyukov2026-03-091-0/+1
| | | | | | | | | There is no point in using Provide more than once, and anywhere besides the first action of a flow. So it's not really an action, but more of a flow property. Add Flow.Consts field to handle this case better. Also provide slightly less verbose syntax by using a map instead of a struct, and add tests.
* pkg/aflow: abstract away LLM temperatureDmitry Vyukov2026-02-021-2/+2
| | | | | | | | | | Introduce abstract "task type" for LLM agents instead of specifying temperature explicitly for each agent. This has 2 advantages: - we don't hardcode it everywhere, and can change centrally as our understanding of the right temperature evolves - we can control other LLM parameters (topn/topk) using task type as well Update #6576
* pkg/aflow: handle input token overflow for LLM toolsDmitry Vyukov2026-01-271-2/+18
| | | | | | | Handle LLM tool input token overflow by removing the last tool reply, and replacing it with an order to answer right now. I've seen an LLM tool went into too deap research and in the end just overflowed input tokens. It could provide at least some answer instead.
* pkg/aflow: unexport Pipeline typeDmitry Vyukov2026-01-231-1/+1
| | | | | | | I've added NewPipeline constructor for a bit nicer syntax, but failed to use it in actual workflows. Unexport Pipeline and rename NewPipeline to Pipeline. This slightly improves workflows definition syntax.
* pkg/aflow: add LLMToolDmitry Vyukov2026-01-231-0/+99
LLMTool acts like a tool for the parent LLM, but is itself implemented as an LLM agent. It can have own tools, different from the parent LLM agent. It can do complex multi-step research, and provide a concise answer to the parent LLM without polluting its context window.