A2UI クイックスタート(ADK-UI)
このガイドでは、ADK agent から A2UI JSONL を出力し、React レンダラーでレンダリングする方法を説明します。
1) 依存関係を追加する
[dependencies]
adk-ui = { git = "https://github.com/zavora-ai/adk-ui" }
adk-agent = "2.1.0"
adk-model = "2.1.0"
React レンダラー:
npm install @zavora-ai/adk-ui-react
2) UI ツールを有効にする
use adk_agent::LlmAgentBuilder;
use adk_ui::UiToolset;
let tools = UiToolset::all_tools();
let mut builder = LlmAgentBuilder::new("a2ui_agent")
.instruction(
"You output A2UI via render_screen (screens), render_page (pages), and render_kit (kits).",
);
for tool in tools {
builder = builder.tool(tool);
}
let _agent = builder.build()?;
3) プロンプト → A2UI JSONL
agent にプロンプトを送信します:
Create a login screen with email, password, and a primary Sign In button.
モデルは render_screen を呼び出し、JSONL を返します:
{"createSurface":{"surfaceId":"main","catalogId":"zavora.ai:adk-ui/default@0.1.0","sendDataModel":true}}
{"updateComponents":{"surfaceId":"main","components":[{"id":"root","component":"Column",...}]}}
4) React で JSONL をレンダリングする
import {
A2uiStore,
A2uiSurfaceRenderer,
applyParsedMessages,
parseJsonl,
} from "@zavora-ai/adk-ui-react";
const store = new A2uiStore();
export function App({ jsonl }: { jsonl: string }) {
const parsed = parseJsonl(jsonl);
applyParsedMessages(store, parsed);
return (
<A2uiSurfaceRenderer
store={store}
surfaceId="main"
onAction={(payload) => {
console.log("A2UI action:", payload);
}}
/>
);
}
5) 次のステップ
render_pageを使用して、複数セクションのページを生成します。render_kitを使用して、カタログ + トークン + テンプレートを生成します。examples/ui_working/にある動作する UI の例を参照してください。