クイックスタート
プロジェクトの全ライフサイクル: スキャフォールド、編集、ビルド、実行。
ã¯ã¤ãã¯ãšãŋãŧã
BX Agents ããã¸ã§ã¯ããŽå ¨ãŠã¤ããĩã¤ã¯ãĢ - ãšããŖããŠãŧãĢããᎍéãããĢããåŽčĄ - ãä¸éãįĸēčĒããžãã
1. ããã¸ã§ã¯ãããšããŖããŠãŧãĢããã
bxAgents new my-agent --model=openai/gpt-5
--model ã¯åŋ
é ã§ã (provider/model ãšãŠãã°ã§ã - ãŠãč§Ŗæãããã㯠Agent.bx ãåį
§)ã--name 㨠--description ã¯äģģæã§ã--name ãŽãããŠãĢãã¯å¯žčąĄããŖãŦã¯ããĒčĒčēĢãŽååã§ãã
ãããĢãããäģĨä¸ãäŊæãããžãã
my-agent/
âââ Agent.bx
âââ instructions.md
âââ tools/
âââ skills/
âââ subagents/
âââ models/
âââ gateways/
âââ schedules/
âââ mcp/
âââ interceptors/
âââ modules/
âââ tests/
âââ box.json
âââ specs/
âââ AgentSpec.bx
Agent.bx ã¯æŦĄãŽãããĢãĒããžãã
class extends="bxModules.bxai.models.runnables.AiAgent" {
function init() {
super.init(
name : "my-agent",
description : "",
model : aiModel( provider: "openai", params: { model: "gpt-5" } )
)
return this
}
}
ãã㯠bx-ai čĒčēĢ㎠AiAgent ã extends ãããŽã§ãããčĒäŊãã¨ãŧã¸ã§ãŗãã§ã - įļæŋããĻãããĒããŽã¨ãŧã¸ã§ãŗããĢåŋ
čĻãĒããŽãã¯ãŠãšãĢį´æĨčŋŊå ããĻãã ãããčŠŗãã㯠Agent.bx ãåį
§ããĻãã ããã
ããšãĻãŽãŗãŗããŗãˇã§ãŗããŠãĢãã¯įŠēãŽįļæ ã§äŊæãããžã - åŽéãĢã¨ãŧã¸ã§ãŗããåŋ čĻã¨ããããŠãĢããĢããĄã¤ãĢãčŋŊå ããæŽãã¯åé¤ãã (ãããã¯åãĢįĄčĻãã) ã ãã§ãã
2. ᎍéãã
instructions.md ãéããã¨ãŧã¸ã§ãŗããŽãˇãšãã ãããŗãããæ¸ããžããããŧãĢãčŋŊå ããžãã
// tools/Greeter.bx
class {
@AITool( "Say hello to someone by name." )
function sayHello( name ) {
return "Hello, " & arguments.name & "!";
}
}
äģãŽããšãĻãŽããŠãĢã (skills/ãsubagents/ãgateways/ãschedules/ãmcp/ãinterceptors/ãmodels/ãmodules/) ãĢã¤ããĻ㯠ãŗãŗããŗãˇã§ãŗ ãģã¯ãˇã§ãŗãåį
§ããĻãã ããã
3. ããšããã
cd tests && box install && cd .. # once, to fetch testbox/
bxAgents test
ãšããŖããŠãŧãĢãããã tests/specs/AgentSpec.bx ã¯ããŽãžãžåæ ŧããžã - mock ãããã¤ããŧãĢ寞ããĻã¨ãŧã¸ã§ãŗããããĢãã (API ããŧããããã¯ãŧã¯ãä¸čĻ)ããšã¯ãĒããåãããåŋįããĸãĩãŧãããžããčĒåãŽãšããã¯ã§äŊŋãã mockResponses() ã¨ãĢãšãŋã ããããŖãŧ (toHaveCalledTool ãĒãŠ) ãĢã¤ããĻ㯠tests/ ãåį
§ããĻãã ããã
4. ããĢããã
bxAgents build
ããĢããã¤ããŠã¤ãŗ å
¨äŊ - config ãŽč§ŖæąēãįēčĻãæ¤č¨ŧããŗãŧãįæããããã§ãšããŽæŖčĻå - ãåŽčĄããåŽé㎠ColdBox ãĸããĒãąãŧãˇã§ãŗã .build/app/ ãĢãå ããĻ .build/manifest.json ãæ¸ãčžŧãŋãžããAgent.bx ãŽį°åĸãĒãŧããŧãŠã¤ããĢ寞ããĻããĢããããĢ㯠bxAgents build --environment=production ãåŽčĄããĻãã ãã (Agent.bx åį
§)ã
ããã¸ã§ã¯ããæ¤č¨ŧãĢå¤ąæããå ´å (éč¤ããããŧãĢåã䏿ŖãĒ cron åŧãæĒįĨãŽãĸããĢãããã¤ããŧãĒãŠ)ãbuild ã¯æåãŽã¨ãŠãŧã ãã§ãĒããåéãããããšãĻãŽã¨ãŠãŧã¨ã¨ããĢå¤ąæããžãã
5. åŽčĄãã
ããĢãæ¸ãŋã¨ãŧã¸ã§ãŗãã¨å¯žčŠąããæšæŗã¯ 2 éãããããŠãĄããåä¸ãŽ GeneratedAgentFactory.bx ãããŧããããžãŖããåãã¨ãŧã¸ã§ãŗãããĒãŧãæ§į¯ãããããæąēããĻéŖãéããã¨ã¯ãããžããã
å¯žčŠąįãĢããŋãŧãããĢãã:
bxAgents chat
HTTP įĩįąã§ãåŽé㎠boxlang-miniserver ãããģãšãéããĻ:
bxAgents serve --port=8080
ããã¸ã§ã¯ããĢ { exposes: "agent", path: "/api/chat" } ãæã¤ gateways/* ã¨ãŗããĒãããã°ãã¨ãŧã¸ã§ãŗã㯠POST http://localhost:8080/api/chat/invoke (ãããŗ /streamã/batchã/info - gateways/ åį
§) ã§å°éå¯čŊãĢãĒããžãã
æ°ããčĩˇåãããĸããĒ㎠toAi() ãĢãŧãã¸ãŽæåãŽãĒã¯ã¨ãšãã¯ä¸æįãĢå¤ąæãããã¨ããããžã - æĸįĨãŽåļé ãåį
§ããĻãã ãããč˛ čˇããããįļæŗã§äŋĄé ŧããĻäŊŋãåãĢããĻãŠãŧã ãĸãããĒã¯ã¨ãšããéãŖãĻãã ããã
6. įĸēčĒããããąãŧã¸åããããã¤
bxAgents inspect # pretty-print .build/manifest.json
bxAgents package --version=1.0.0 # writes dist/my-agent-1.0.0.bxa + .sha256
bxAgents deploy --destination=/path/to/somewhere # copies the newest .bxa there
ãããã§ãšã 㨠ãããã¤ã¨ãˇãŧã¯ãŦãã ãåį §ããĻãã ããã
7. åžįäģã
bxAgents clean
.build/ 㨠dist/ ãŽãŋãåé¤ããžã - ããĒããŽãŊãŧãšãŽãŗãŗããŗãˇã§ãŗ (Agent.bxãtools/ ãĒãŠ) ã¯ä¸åč§Ļããããžããã
æŦĄãŽãšããã
- ãŗãŗããŗãˇã§ãŗ ã§ãããšãĻãŽãŗãŗããŗãˇã§ãŗããŠãĢããä¸éãįĸēčĒããã
examples/ãĢãããåŽéãĢåããĩãŗããĢããã¸ã§ã¯ããčĻãã- CLI ãĒããĄãŦãŗãš ã§ãããšãĻãŽåčŠãŽããŠã°ãįĸēčĒããã