Let an agent investigate and act
You give a typed task an iterative runtime where the model can inspect evidence, call tools, and delegate. It still finishes through your declared output contract.
Unit example (nearest native match)
See the idea in context
helper := axllm.NewAgent("question:string -> answer:string", nil)- Declare the whole task
The signature keeps the request and final resolution typed.
- Provide allowed capabilities
functions limits the tools the runtime may choose.
- Start one agent run
forward() lets the agent inspect, act, and finish with a resolution.
Run itIn your own project
go get github.com/ax-llm/ax/packages/go
package main
import (
"context"
"fmt"
"os"
axllm "github.com/ax-llm/ax/packages/go"
)
func main() {
client := axllm.NewAI("openai", map[string]axllm.Value{"apiKey": os.Getenv("OPENAI_API_KEY")})
classify := axllm.NewAx("review:string -> sentiment:class \"positive, negative, neutral\"", nil)
result, err := classify.Forward(context.Background(), client, map[string]axllm.Value{
"review": "Useful and boring in the best way."
}, nil)
if err != nil {
panic(err)
}
fmt.Println("sentiment:", result.(map[string]axllm.Value)["sentiment"])
}Set OPENAI_APIKEY in your environment before running provider-backed code.
From a clone of the ax repo:
npm run example -- go src/examples/go/short-agents/tools_agent.goActive practice
Answer 2 in a row to learn this · attempt 1