---
title: "示例：定制一个 Code 知识问答智能体"
---

我们使用三个工具权限：

* codesearch，网络代码搜索
* websearch，网络搜索（搜索文章）
* webfetch，网络抓取（读取文章）

### 1、代码示例

```java
public class DemoApp {
    public static void main(String[] arg) throws Throwable {
        AgentSessionProvider sessionProvider = new AgentSessionProvider() {
            private Map<String, AgentSession> sessionMap = new ConcurrentHashMap<>();

            @Override
            public AgentSession getSession(String instanceId) {
                return sessionMap.computeIfAbsent(instanceId, k -> InMemoryAgentSession.of(k));
            }
        };

        HarnessEngine engine = HarnessEngine.of(".tmp/", ".demo")
                .sessionProvider(sessionProvider)
                .toolsAdd(ToolPermission.TOOL_CODESEARCH,
                        ToolPermission.TOOL_WEBSEARCH,
                        ToolPermission.TOOL_WEBFETCH)
                .build();
        
        engine.prompt("solon ai 有哪些常用的注解？").call();
    }
}
```